The following properties define the VoltDB database configuration.
Table B.5. Options Starting with cluster.config.deployment...
Parameter | Description | Default |
---|---|---|
.avro.namespace | Avro namespace (since V11) | "" |
.avro.prefix | Avro configuration prefix | "" |
.avro.properties | Avro configuration properties | { } |
.avro.registry | Avro registry URL | "" |
.cluster.kfactor | K-factor to use for database durability and data safety replication | 1 |
.cluster.sitesperhost | SitesPerHost for VoltDB Cluster | 8 |
.commandlog.enabled | Command logging for database durability (recommended) | true |
.commandlog.frequency.time | How often the command log is written, by time (milliseconds) | 200 |
.commandlog.frequency.transactions | How often the command log is written, by transaction commands | 2147483647 |
.commandlog.logsize | Command logging allocated disk space (MB) | 1024 |
.commandlog.synchronous | Transactions do not complete until logged to disk | false |
.dr.conflictretention | Automatic pruning of XDCR conflict logs; integer followed by one of m/h/d, for minutes/hours/days(since V11) | "" |
.dr.connection.enabled | Specifies whether this DR connection is enabled | false |
.dr.connection.preferredSource | Cluster ID of preferred DR source | "" |
.dr.connection.source | If role is replica or xdcr: list of host names or IP addresses of remote nodes | "" |
.dr.connection.ssl.sslSecret.certSecretName | Optional pre-made secret containing truststore data, including password if needed | "" |
.dr.connection.ssl.truststore.file | Optional truststore file used to verify the identity of the remote VoltDB cluster; defaults to truststore of this cluster, unless sslSecret is set | "" |
.dr.connection.ssl.truststore.password | Password for truststore file specified in truststore.file | "" |
.dr.consumerlimit.maxbuffers | Enable DR consumer flow control; either maxsize or maxbuffers must be specified | "" |
.dr.consumerlimit.maxsize | Enable DR consumer flow control; either maxsize or maxbuffers must be specified. maxsize is an integer optionally followed by 'g' (gigabytes) or 'm' (megabytes) | "" |
.dr.id | Unique cluster id, 0-127 | 0 |
.dr.role | Role for this cluster, either xdcr or none | xdcr |
.dr.schemachange.enabled | Enable DR consumer to continue while compatible schema changes are being made (since V12) | false |
.dr.schemachange.truncate | Enable values to be truncated if a VARCHAR column is wider on another cluster while schema changes are being made | false |
.export.configurations | List of export configurations (complex structure) | [ ] |
.export.configurations.enabled | Is this export enabled? | false |
.export.configurations.exportconnectorclass | Class name for custom exporters | "" |
.export.configurations.properties | List of type-specific properties | [ ] |
.export.configurations.reconnect | Reconnect interval, integer followed by 's' or 'm' (V12 or later) | "120s" |
.export.configurations.target | Name of export target | "" |
.export.configurations.threadpool | Name of thread pool to use for export processing | "" |
.export.configurations.type | Export type (file, custom, etc.) | "file" |
.heartbeat.timeout | Internal VoltDB cluster verification of presence of other nodes (seconds) | 90 |
.httpd.enabled | Determines if HTTP API daemon is enabled (external VMC service is recommended instead) | false |
.httpd.jsonapi.enabled | Determines if JSON over HTTP API is enabled; requires http.enabled | false |
.httpd.port | Specifies port for HTTP; default varies according to whether TLS/SSL enabled | 8080 or 8443 |
.import.configurations | List of import configurations (complex structure) | [ ] |
.import.configurations.enabled | Is this import enabled? | "false" |
.import.configurations.format | Format of import data | "" |
.import.configurations.module | Name of jar file for custom importer | "" |
.import.configurations.properties | List of type-specific properties | [ ] |
.import.configurations.type | Import type e.g. kafka | "" |
.metrics.enabled | Enables cloud-native metrics system on each VoltDB pod. It is an alternative to using Prometheus Agent. | false |
.metrics.interval | How often the metrics system prepares a new metrics slice to be sourced by an external system like prometheus. Supported unit indicators are s (seconds), m (minutes), h (hours), d (days). | 60s |
.metrics.maxbuffersize | Limits memory that the metric system can use for internal metric buffering (system will always retain at least one metrics slice in the buffer). In megabytes. | 16 |
.partitiondetection.enabled | Controls detection of network partitioning | true |
.paths.commandlog.path | Directory path for command log | /pvc/voltdb/voltdbroot/command_log |
.paths.commandlogsnapshot.path | Directory path for command log snapshot | /pvc/voltdb/voltdbroot/command_log_snapshot |
.paths.droverflow.path | Directory path for disaster recovery overflow | /pvc/voltdb/voltdbroot/dr_overflow |
.paths.exportcursor.path | Directory path for export cursors | /pvc/voltdb/voltdbroot/export_cursor |
.paths.exportoverflow.path | Directory path for export overflow | /pvc/voltdb/voltdbroot/export_overflow |
.paths.largequeryswap.path | Directory path for large query swapping | /pvc/voltdb/voltdbroot/large_query_swap |
.paths.snapshots.path | Directory path for snapshots. Must be located in a writeable directory, not the root (as init --force will rename existing snapshot folder). | /pvc/voltdb/voltdbroot/snapshots |
.security.enabled | Controls whether user-based authentication and authorization are used | false |
.security.ldap.group | List of LDAP groups and their mapping to VoltDB roles | [ ] |
.security.ldap.groupclass | Name of the LDAP schema's objectClass defining a group of users | "groupOfUniqueNames" |
.security.ldap.groupmemberid | Name of the LDAP schema's objectClass defining a group of users | "uniqueMember" |
.security.ldap.password | Password corresponding to LDAP server username, required | "" |
.security.ldap.rootdn | Distinguished Name of the root of the LDAP schema that defines users and groups, required | "" |
.security.ldap.server | URL for LDAP server, required; as 'ldap://server:port', or 'ldaps://server:port', port optional | "" |
.security.ldap.ssl.truststore.file | Truststore file used to validate LDAPS server certificate (Java KeyStore format) | "" |
.security.ldap.ssl.truststore.password | Password for LDAP truststore file | "" |
.security.ldap.timeout | Timeout, in seconds, for requests to the LDAP server | 10 |
.security.ldap.user | Username used by VoltDB for read-only access on LDAP server, required | "" |
.security.ldap.userclass | Name of the LDAP schema's objectClass containing user information | "inetOrgPerson" |
.security.ldap.useruid | Name of the LDAP attribute in the userObjectClass that should contain the username provided by the VoltDB client | "uid" |
.security.provider | Sets authentication provider as hash (local) or ldap (using a customer-specified LDAP/LDAP server) | hash |
.snapshot.enabled | Enable/disable periodic automatic snapshots | true |
.snapshot.frequency | Frequency of automatic snapshots (in s,m,h) | 24h |
.snapshot.prefix | Unique prefix for snapshot files | AUTOSNAP |
.snapshot.retain | Number of snapshots to retain | 2 |
.snmp.authkey | SNMPv3 authentication key if protocol is not NoAuth | voltdbauthkey |
.snmp.authprotocol | SNMPv3 authentication protocol. One of: SHA, MD5, NoAuth | SHA |
.snmp.community | Name of SNMP community | public |
.snmp.enabled | Enables or disables use of SNMP | false |
.snmp.privacykey | SNMPv3 privacy key if protocol is not NoPriv | voltdbprivacykey |
.snmp.privacyprotocol | SNMPv3 privacy protocol. One of: AES, DES, 3DES, AES192, AES256, NoPriv | AES |
.snmp.target | Host name or IP address, and optional port (default 162), for SNMP server | "" |
.snmp.username | Username for SNMPv3 authentication; else SNMPv2c is used | "" |
.ssl.dr | Extends TLS/SSL security to the DR port (5555). | false |
.ssl.enabled | Enable or disable TLS/SSL on the cluster. Other properties control activation of TLS/SSL for specific ports and features. | false |
.ssl.external | Extends TLS/SSL security to all external ports (default admin 21211, client 21212). | false |
.ssl.internal | Extends TLS/SSL security to the internal port (default 3021). | false |
.ssl.keystore.file | Keystore file for cluster, in Java Key Store format; ignored if sslSecret is used | "" |
.ssl.keystore.password | Password for VoltDB keystore file | "" |
.ssl.sslSecret.certSecretName | Pre-made secret containing keystore and truststore data, optionally including passwords | "" |
.ssl.sslSecret.passwordSecretName | Pre-made secret containing password for keystore/truststore, if password is not in the secret named by certSecretName | "" |
.ssl.truststore.file | Truststore file, in Java Key Store format; ignored if sslSecret is used | "" |
.ssl.truststore.password | Password for VoltDB truststore file | "" |
.systemsettings.clockskew.interval | Interval of the scheduled clock skew collection (minutes). 0 is allowed and it disables collection. Interval cannot be less than 0 and if set below such value it will be reset to default. | 60 |
.systemsettings.compaction.interval | Interval to indicate how often memory compaction should run (seconds) | 60 |
.systemsettings.compaction.maxcount | Set a target block count compaction should try and achieve if there is memory fragmentation | 1 |
.systemsettings.elastic.duration | Target value for the length of time each rebalance transaction will take (milliseconds) | 50 |
.systemsettings.elastic.throughput | Target value for rate of data processing by rebalance transactions (MB) | 2 |
.systemsettings.flushinterval.dr.interval | Interval for flushing DR data (milliseconds) | 1000 |
.systemsettings.flushinterval.export.interval | Interval for flushing export data (milliseconds) | 4000 |
.systemsettings.flushinterval.minimum | Interval between checking for need to flush (milliseconds) | 1000 |
.systemsettings.priorities.batch | Modifies priority scheduling algorithm to execute multiple requests before rescheduling | 25 |
.systemsettings.priorities.dr.priority | Priority for DR requests (1-8, 1 is highest priority) | 5 |
.systemsettings.priorities.enabled | Enables priority scheduling of requests by VoltDB cluster (true/false) | false |
.systemsettings.priorities.maxwait | Modifies priority scheduling by setting a limit on time waiting while higher priority requests execute (millisecs) | 1000 |
.systemsettings.priorities.snapshot.priority | Priority for snapshot requests (1-8, 1 is highest priority) | 6 |
.systemsettings.procedure.copyparameters | If set, mutable array parameters should be copied before processing | true |
.systemsettings.procedure.loginfo | Threshold for long-running task detection (milliseconds) | 10000 |
.systemsettings.query.timeout | Timeout on SQL queries (milliseconds) | 10000 |
.systemsettings.resourcemonitor.disklimit.commandlog.alert | Alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.commandlog.size | Limit on disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.commandlogsnapshot.alert | Alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.commandlogsnapshot.size | Limit on disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.droverflow.alert | Alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.droverflow.size | Limit on disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.exportoverflow.alert | Alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.exportoverflow.size | Limit on disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.snapshots.alert | Alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.snapshots.size | Limit on disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.topicsdata.alert | Alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.topicsdata.size | Limit on disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.frequency | Interval between Resource Monitor resource checks (seconds) | 60 |
.systemsettings.resourcemonitor.memorylimit.alert | Alert level for memory use (in GB or as percentage) | 70% |
.systemsettings.resourcemonitor.memorylimit.size | Limit on memory use (in GB or as percentage) | 80% |
.systemsettings.snapshot.priority | Priority for snapshot work (OBSOLETE delay factor; see systemsettings.priorities) | 6 |
.systemsettings.temptables.maxsize | Limit the size of temporary database tables (MB) | 100 |
.threadpools | List of thread pools to create | [ ] |
.threadpools.pool.name | Thread pool name | "" |
.threadpools.pool.size | Thread pool size | "" |
.topics.broker.properties | Kafka topics: broker configuration properties | [ ] |
.topics.broker | Kafka topics: broker configuration | `` |
.topics.enabled | Kafka topics: enabled or not (supported since V11) | true |
.topics.threadpool | Kafka topics: threadpool to use | `` |
.topics.topic.allow | List of roles allowed to access the topic | `` |
.topics.topic.enabled | This topic enabled or not | false |
.topics.topic.format | Format of topic message | `` |
.topics.topic.name | Topic name | `` |
.topics.topic.opaque | Is this an opaque topic? | false |
.topics.topic.priority | Priority for topics requests (if priority scheduling is enabled) | 4 |
.topics.topic.procedure | Procedure to invoke upon getting message | `` |
.topics.topic.properties | Topic configuration properties | [ ] |
.topics.topic.retention | Topic retention policy | `` |
.topics.topic | List of topics | [ ] |
.users.name | A VoltDB user name | "" |
.users.password | User password | "" |
.users.roles | Comma-list of roles assigned to user | "" |
.users | List of VoltDB users to be added to the deployment | [ ] |
.metrics.enabled | Enables cloud native metrics system on each VoltDB pod. It is an alternative to using Prometheus Agent. | false |
.metrics.interval | Dictates the frequency at which the service updates its metrics internally, making them accessible to external systems like Prometheus. If metrics are queried at intervals shorter than this configuration, consecutive results might be identical. Supported unit indicators are s (seconds), m (minutes), h (hours), d (days). | 60s |
.metrics.maxbuffersize | Set the maximum memory usage (in megabytes) for the internal metrics buffer. However the system will make sure it has enough memory to store every metric at least once. | 16 |