The configuration file starts with the XML declaration. After the XML declaration, the root element of the configuration file is the deployment element. The remainder of the XML document consists of elements that are children of the deployment element.
Figure E.1, “Configuration XML Structure” shows the structure of the configuration file. The indentation indicates the hierarchical parent-child relationships of the elements and an ellipsis (...) shows where an element may appear multiple times.
Figure E.1. Configuration XML Structure
<deployment>
<cluster/>
<paths>
<commandlog/>
<commandlogsnapshot/>
<exportoverflow/>
<snapshots/>
<voltdbroot/>
</paths>
<commandlog>
<frequency/>
</commandlog>
<consistency/>
<dr>
<connection/>
</dr>
<export>
<configuration>
<property/>...
</configuration>...
</export>
<heartbeat/>
<httpd>
<jsonapi/>
</httpd>
<import>
<configuration>
<property/>...
</configuration>...
</import>
<partition-detection/>
<security/>
<snapshot/>
<ssl>
<keystore/>
<truststore/>
</ssl>
<snmp/>
<systemsettings>
<elastic/>
<procedure/>
<query/>
<resourcemonitor>
<disklimit>
<feature/>...
</disklimit>
<memorylimit/>
</resourcemonitor>
<snapshot/>
<temptables/>
</systemsettings>
<users>
<user/>...
</users>
</deployment>
Table E.1, “Configuration File Elements and Attributes” provides further detail on the elements, including their relationships (as child or parent) and the allowable attributes for each.
Table E.1. Configuration File Elements and Attributes
Element | Child of | Parent of | Attributes |
---|---|---|---|
deployment* | (root element) | cluster, commandlog, consistency, dr, export, heartbeat, httpd, import, partition-detection, paths, security, snapshot, snmp, ssl, systemsettings, users | |
cluster* | deployment | kfactor={int} | |
heartbeat | deployment | timeout={int}* | |
partition-detection | deployment | enabled={true|false} | |
commandlog | deployment | frequency | enabled={true|false} |
frequency | commandlog | time={int} | |
consistency | deployment | readlevel={fast|safe}* | |
dr | deployment | connection | id={int}* |
connection | dr | source={server[,...]}* | |
export | deployment | configuration | |
configuration* | export | property | target={text}* |
property | configuration | name={text}* | |
import | deployment | configuration | |
configuration* | import | property | type={kafka|custom}* |
property | configuration | name={text} | |
httpd | deployment | jsonapi | port={int} |
jsonapi | httpd | enabled={true|false} | |
paths | deployment | commandlog, commandlogsnapshot, droverflow, exportoverflow, snapshots, voltdbroot | |
commandlog | paths | path={directory-path}* | |
commandlogsnapshot | paths | path={directory-path}* | |
droverflow | paths | path={directory-path}* | |
exportoverflow | paths | path={directory-path}* | |
snapshots | paths | path={directory-path}* | |
voltdbroot | paths | path={directory-path}* | |
security | deployment | enabled={true|false} | |
snapshot | deployment | enabled={true|false} | |
ssl | deployment | keystore, truststore | enabled={true|false} |
keystore* | ssl | path={file-path}* | |
truststore | ssl | path={file-path}* | |
snmp | deployment | target={IP-address}* | |
systemsettings | deployment | elastic, procedure, query, resourcemonitor, snapshot, temptables | |
elastic | systemsettings | duration={int} | |
procedure | systemsettings | loginfo={int}* | |
query | systemsettings | timeout={int}* | |
resourcemonitor | systemsettings | disklimit, memorylimit | frequency={int} |
disklimit | resourcemonitor | feature | |
feature | diskllimit | name={text}* | |
memorylimit | resourcemonitor | size={int[%]}* | |
snapshot | systemsettings | priority={int}* | |
temptables | systemsettings | maxsize={int}* | |
users | deployment | user | |
user | users | name={text}* | |
*Required |