Management Guide

V3.2

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.

Some of the features described in this documentation are specific to the VoltDB Enterprise Edition, which is distributed by VoltDB, Inc. under a commercial license. Many of the core VoltDB database features described herein are also part of the VoltDB Community Edition, which is licensed under the GNU Affero Public License 3 as published by the Free Software Foundation. Wherever possible, the documentation distinguishes between features that are unique to the Enterprise Edition, and those available in both the Enterprise and Community editions. 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 set up, monitor, 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. Using the VoltDB Enterprise Manager
1.2. Managing Databases
2. Installing and Starting the VoltDB Enterprise Manager
2.1. Operating System and Software Requirements
2.2. Installing the VoltDB Enterprise Manager
2.3. Preparing the Cluster Nodes for Management
2.4. Starting the Enterprise Manager
2.4.1. Using a Different HTTP Port
2.4.2. Using a Different Configuration Directory
2.5. Configuring Access to the Enterprise Manager
2.6. Applying Your Enterprise License
3. Getting Started with the Enterprise Manager
3.1. The Components of the Interface
3.1.1. Database Dashboard
3.1.2. List of Databases
3.1.3. Banner and Global Server List
3.2. Starting the Enterprise Manager
4. Adding a Database
4.1. Configuring the Database
4.2. Changing the Database Configuration
4.3. Configuring Export
4.3.1. Configuring Export to File
4.3.2. Configuring Export to JDBC
4.3.3. Configuring Export to Remote Client
4.4. Adding Servers to Your Database Configuration
4.5. Configuring a Database Manually
5. Starting and Stopping the Database
5.1. Starting the Database
5.2. Stopping the Database
5.2.1. Pausing the Database (Admin Mode)
5.2.2. Starting and Stopping Individual Servers
5.3. Starting and Stopping a VoltDB Database Manually
6. Monitoring the Cluster
6.1. Monitoring Database Activity
6.2. Monitoring Overall Cluster Health
6.3. Integrating VoltDB with Other Monitoring Systems
6.3.1. Integrating with Ganglia
6.3.2. Integrating Through JMX
6.3.3. Integrating with Nagios
6.4. Monitoring a Cluster Manually
7. Updating the Database
7.1. Updating the Database Configuration
7.2. Updating the Application Catalog
7.2.1. Loading a New Catalog
7.2.2. Comparing Differences Between the Catalogs
7.2.3. Confirming the Update
7.3. Updating Snapshot Settings
7.4. Updating the Database Manually
8. Maintaining and Repairing the Cluster
8.1. Detecting and Evaluating Error Conditions
8.2. Rejoining and Replacing Servers
8.2.1. Rejoining a Node to the Database Cluster
8.2.2. Choosing a Rejoin Option (Live Rejoin)
8.2.3. Replacing a Node in the Database Cluster
8.2.4. Restarting the Cluster
8.3. Preventative Maintenance Using Snapshots
8.3.1. Collecting Snapshots
8.3.2. Restoring the Database from a Snapshot
8.3.3. Managing Snapshots
8.4. Maintaining and Repairing Your Cluster Manually
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 (Enterprise Edition Feature)
A.5.6. JMX Port (Enterprise Edition Feature)
A.5.7. Replication Port (Enterprise Edition Feature)
A.5.8. Zookeeper Port
B. VoltDB Management REST Interface
B.1. Introduction to the REST Interface
B.1.1. Resources and Methods
B.1.2. Interpreting Status Codes and Return Values
B.1.3. Examples of Using the Management Interface
B.2. VoltDB Management Interface: Reference Section
/mgmt/catalogs — Manage catalog resources
/mgmt/databases — Manage database resources
/mgmt/databases/{id}/servers — Manage servers assigned to a database
/mgmt/deployments — Manage deployment resources
/mgmt/servers — Manage server resources
/mgmt/snapshots — Manage snapshot resources
/info/catalogdiffs — compares two catalogs and reports on the differences
/log/messages — Returns log messages from all database and servers
/log/managements — Returns log messages from the Enterprise Manager
C. 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.

List of Figures

4.1. Add Database Dialog