The following properties define the VoltDB database configuration.
Table B.5. Options Starting with cluster.config.deployment...
Parameter | Description | Default |
---|---|---|
.cluster.kfactor | K-factor to use for database durability and data safety replication | 1 |
.cluster.sitesperhost | SitesPerHost for VoltDB Cluster | 8 |
.heartbeat.timeout | Internal VoltDB cluster verification of presence of other nodes (seconds) | 90 |
.partitiondetection.enabled | Controls detection of network partitioning | true |
.commandlog.enabled | Command logging for database durability (recommended) | true |
.commandlog.logsize | Command logging allocated disk space (MB) | 1024 |
.commandlog.synchronous | Transactions do not complete until logged to disk | false |
.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 command | 2147483647 |
.dr.id | Unique cluster id, 0-127 | 0 |
.dr.role | Role for this cluster, currently the only accepted value is 'xdcr' | xdcr |
.dr.conflictretention | Automatic pruning of xdcr conflict logs; value is integer followed by one of m/h/d, for minutes/hours/days | "" |
.dr.connection.enabled | Specifies whether disaster recovery is enabled | false |
.dr.connection.source | If role is replica or xdcr: list of host names or IP addresses of remote node(s) | "" |
.dr.connection.preferredSource | Cluster ID of preferred source | "" |
.dr.connection.ssl | (OBSOLETE as of 2.0.0 as a setting in its own right; use the 3 following settings) | { } |
.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 above | "" |
.dr.connection.ssl.sslSecret.certSecretName | Optional pre-made secret containing truststore data, including password if needed | "" |
.dr.consumerlimit.maxsize | Enable DR consumer flow control either maxsize or maxbuffers must be specified maxsize can be specified as 50m, 1g or just number for bytes | "" |
.dr.consumerlimit.maxbuffers | Enable DR consumer flow control either maxsize or maxbuffers must be specified | "" |
.dr.schemachange.enabled | Enable DR consumer to continue while compatible schema changes are being made | "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 | [ ] |
.import.configurations | List of import configurations | [ ] |
.avro.namespace | Avro namespace | "" |
.avro.registry | Avro registry URL | "" |
.avro.prefix | Avro configuration prefix | "" |
.avro.properties | Avro configuration properties | { } |
.topics.threadpool | Kafka topics threadpool to use | `` |
.topics.enabled | Kafka topics enabled or not | true |
.topics.broker | Kafka topics broker configuration | `` |
.topics.broker.properties | Kafka topics broker configuration properties | [ ] |
.topics.topic | List of topics | [ ] |
.topics.topic.name | topic name | `` |
.topics.topic.procedure | Procedure to invoke upon getting message | `` |
.topics.topic.format | Format of topic message | `` |
.topics.topic.retention | Topic retention policy | `` |
.topics.topic.opaque | Is this an opaque topic | false |
.topics.topic.allow | List of roles allowed to access the topic | `` |
.topics.topic.priority | Priority for topics requests (if priority scheduling is enabled) | 4 |
.topics.topic.properties | Topic configuration properties | [ ] |
.httpd.enabled | Determines if HTTP API daemon is enabled | false |
.httpd.jsonapi.enabled | Determines if jSON over HTTP API is enabled | false |
.httpd.port | Specifies port for HTTP | 8080 or 8443 |
.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 not be located in a read-only root directory of mounted storage (as init --force will rename existing snapshot folder). Use a subdirectory. | /pvc/voltdb/voltdbroot/snapshots |
.security.enabled | Controls whether user-based authentication and authorization are used | false |
.security.provider | Sets authentication provider as 'hash' (local) or 'ldap' (using a customer-specified LDAP/LDAP server) | hash |
.security.ldap.server | URL for LDAP server, required; as 'ldap://server:port', or 'ldaps://server:port', port optional | "" |
.security.ldap.user | Username used by VoltDB for read-only access on LDAP server, required | "" |
.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.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.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.timeout | Timeout, in seconds, for requests to the LDAP server | 10 |
.security.ldap.group | List of LDAP groups and their mapping to VoltDB roles | [ ] |
.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 | "" |
.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.enabled | Enables or disables use of SNMP | false |
.snmp.target | Host name or IP address, and optional port (default 162), for SNMP server | "" |
.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.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.username | Username for SNMPv3 authentication; else SNMPv2c is used | "" |
.ssl.enabled | Enable or disable configuration of 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). Only active if cluster.config.deployment.ssl.enabled is also "true". | false |
.ssl.internal | Extends TLS/SSL security to the internal port (default 3021). Only active if cluster.config.deployment.ssl.enabled is also "true". | false |
.ssl.dr | Extends TLS/SSL security to the DR port (5555). Only active if cluster.config.deployment.ssl.enabled is also "true". | false |
.ssl.keystore.file | Keystore file to mount at the keystore path (unless sslSecret is set) | "" |
.ssl.keystore.password | Password for VoltDB keystore file | "" |
.ssl.truststore.file | Truststore file to mount at the truststore path (unless sslSecret is set) | "" |
.ssl.truststore.password | Password for VoltDB truststore 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 | "" |
.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.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.flushinterval.minimum | Interval between checking for need to flush (milliseconds) | 1000 |
.systemsettings.flushinterval.dr.interval | Interval for flushing DR data (milliseconds) | 1000 |
.systemsettings.flushinterval.export.interval | Interval for flushing export data (milliseconds) | 4000 |
.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.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.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.snapshot.priority | Priority for snapshot requests (1-8, 1 is highest priority) | 6 |
.systemsettings.resourcemonitor.frequency | Resource Monitor interval between resource checks (seconds) | 60 |
.systemsettings.resourcemonitor.memorylimit.size | Limit on memory use (in GB or as percentage) | 80% |
.systemsettings.resourcemonitor.memorylimit.alert | Alert level for memory use (in GB or as percentage) | 70% |
.systemsettings.resourcemonitor.disklimit.commandlog.size | Resource Monitor disk limit on disk use (in GB or percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.commandlog.alert | Resource Monitor alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.commandlogsnapshot.size | Resource Monitor disk limit on disk use (in GB or percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.commandlogsnapshot.alert | Resource Monitor alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.droverflow.size | Resource Monitor disk limit on disk use (in GB or percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.droverflow.alert | Resource Monitor alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.exportoverflow.size | Resource Monitor disk limit on disk use (in GB or percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.exportoverflow.alert | Resource Monitor alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.snapshots.size | Resource Monitor disk limit on disk use (in GB or percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.snapshots.alert | Resource Monitor alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.topicsdata.size | Resource Monitor disk limit on disk use (in GB or percentage, empty is unlimited) | "" |
.systemsettings.resourcemonitor.disklimit.topicsdata.alert | Resource Monitor alert level for disk use (in GB or as percentage, empty is unlimited) | "" |
.systemsettings.snapshot.priority | Priority for snapshot work (really a delay factor; see under systemsettings for scheduling priority) | 6 |
.systemsettings.temptables.maxsize | Limit the size of temporary database tables (MB) | 100 |
.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 |
.users | Define a list of VoltDB users to be added to the deployment | [ ] |
.metrics.enabled | Enables metrics system on a single pod. This system is an alternative for old @Statistics. | false |
.metrics.interval | Controls how often metrics system prepares metrics slice to be sourced by external system like prometheus. | 60seconds |
.metrics.maxbuffersize | Controls how much memory, at maximum, metric system will use for internal metric buffering. But at least system will retain one metrics slice in the buffer. | 16 |
.metrics.retain | Controls how many metrics slices retain in the buffer. | 1 |