Administrator's Guide

Documentation

Home » Documentation » Administrator's Guide

Administrator's Guide

V4.7

The text and illustrations in this document are licensed under the terms of the GNU Affero General Public License Version 3 as published by the Free Software Foundation. See the GNU Affero General Public License (http://www.gnu.org/licenses/) for more details.

Many of the core VoltDB database features described herein are part of the VoltDB Community Edition, which is licensed under the GNU Affero Public License 3 as published by the Free Software Foundation. Other features are specific to the VoltDB Enterprise Edition, which is distributed by VoltDB, Inc. under a commercial license. Your rights to access and use VoltDB features described herein are defined by the license you received when you acquired the software.

Abstract

This books explains how to create and manage VoltDB databases and the clusters that run them.


Table of Contents

Preface
1. Structure of This Book
2. Related Documents
1. Managing VoltDB Databases
1.1. Getting Started
1.2. Understanding the VoltDB Utilities
1.3. Management Tasks
2. Preparing the Servers
2.1. Server Checklist
2.2. Install Required Software
2.3. Configure Memory Management
2.3.1. Disable Swapping
2.3.2. Enable Virtual Memory Mapping and Overcommit
2.4. Turn off TCP Segmentation
2.5. Configure NTP
2.6. Configure the Network
2.7. Assign Network Ports
3. Starting and Stopping the Database
3.1. Configuring the Cluster and Database
3.2. Starting the Database
3.3. Stopping the Database
3.4. Restarting the Database
4. Maintenance and Upgrades
4.1. Backing Up the Database
4.2. Updating the Database Schema
4.2.1. Performing Live Schema Updates
4.2.2. Performing Updates Using Save and Restore
4.3. Upgrading the Cluster
4.3.1. Performing Server Upgrades
4.3.2. Adding Servers to a Running Cluster with Elastic Scaling
4.3.3. Reconfiguring the Cluster During a Maintenance Window
4.4. Upgrading VoltDB Software
5. Monitoring VoltDB Databases
5.1. Monitoring Overall Database Activity
5.1.1. Web Studio
5.1.2. Process Memory Report
5.1.3. System Procedures
5.2. Integrating VoltDB with Other Monitoring Systems
5.2.1. Integrating with Ganglia
5.2.2. Integrating Through JMX
5.2.3. Integrating with Nagios
5.2.4. Integrating with New Relic
6. What to Do When Problems Arise
6.1. Where to Look for Answers
6.2. Recovering in Safe Mode
6.2.1. Logging Constraint Violations
6.2.2. Safe Mode Recovery
6.3. Collecting the Log Files
6.3.1. Collecting Log Files Using the Command Line
6.3.2. Collecting Log Files Using the Enterprise Manager
6.3.3. Collecting Log Files Using the REST Interface
A. Server Configuration Options
A.1. Server Configuration Options
A.1.1. Network Configuration (DNS)
A.1.2. Time Configuration (NTP)
A.2. Process Configuration Options
A.2.1. Maximum Heap Size
A.2.2. Other Java Runtime Options (VOLTDB_OPTS)
A.3. Database Configuration Options
A.3.1. Sites per Host
A.3.2. K-Safety
A.3.3. Network Partition Detection
A.3.4. Automated Snapshots
A.3.5. Export
A.3.6. Command Logging
A.3.7. Heartbeat
A.3.8. Temp Table Size
A.4. Path Configuration Options
A.4.1. VoltDB Root
A.4.2. Snapshots Path
A.4.3. Export Overflow Path
A.4.4. Command Log Path
A.4.5. Command Log Snapshots Path
A.5. Network Ports
A.5.1. Client Port
A.5.2. Admin Port
A.5.3. Web Interface Port (httpd)
A.5.4. Internal Server Port
A.5.5. Log Port
A.5.6. JMX Port
A.5.7. Replication Port
A.5.8. Zookeeper Port
B. Snapshot Utilities
snapshotconvert — Converts the tables in a VoltDB snapshot into text files.
snapshotverify — Verifies that the contents of one or more snapshot files are complete and usable.