watchdog.properties file
Individual Apache ZooKeeper nodes have a watchdog.properties file in the ZooKeeper installation directory. The properties file defines the properties for the ZooKeeper watchdog process.
Usage
The properties defined in watchdog.properties can be used to update the configuration of the watchdog process. The Installation Manager modifies the watchdog.properties file to set the fully qualified path to the ZooKeeper start up and shutdown scripts. The other watchdog properties must be kept as defaults. In case you must edit the properties file, you must open the properties file in a text editor and make the necessary changes.File location
<install_Dir>/zookeeper/watchdog/confEnvironment
LinuxAuthorization
Only users with administrative permissions can edit the watchdog.properties file.Option descriptions
- enabled
- Specifies whether the watchdog is enabled. Default value is
true
.
- zkConfigPath
- The path to the ZooKeeper configuration file. This path is set by the Installation Manager and must not be modified. Default path is, <install_Dir>/zookeeper/conf/zoo.cfg.
- zkStartupCmd
- The path to the ZooKeeper startup script. This path is set by the Installation Manager and must not be modified. Default path is, <install_Dir>/MailboxUtilities/bin/startGMCoordinate.sh.
- zkStartupArg.<n>
- Arguments to the ZooKeeper startup script. Specify each argument separately, with
".<n>"
prefix, where n is 1, 2, 3, etc. The argument is set by the Installation Manager and must not be modified.
- zkShutdownCmd
- The path to the ZooKeeper shutdown script. The path is set by the Installation Manager and must not be modified. Default path is, <install_Dir>/MailboxUtilities/bin/stopGMCoordinate.sh.
- zkShutdownArg.<n>
- Arguments to the ZooKeeper shutdown script. Specify each argument separately, with
".<n>"
prefix, where n is 1, 2, 3, etc. The argument is set by the Installation Manager and must not be modified.
- pingInterval
- Time interval to ping ZooKeeper servers (in seconds). Default is 5 seconds.
- quorumLossMonitorInterval
- Time interval to check loss of quorum (in seconds). Default is 30 seconds.
- ensembleRecoveryMonitorInterval
- Time interval to check for offline servers to come back online after quorum loss (in seconds). Default is 10 seconds.
- ensembleRecoveryDelay
- The number of seconds to wait before restarting ensemble after quorum loss, after detecting that offline servers have come back online. Can specify 0 for no delay. Default is 60 seconds.
- connectionTimeout
- Maximum time to wait (in seconds) when establishing connection to the ensemble when checking for quorum loss. Default is 15 seconds.
- lockTimeout
- Maximum time to wait (in seconds) to acquire a lock when checking for quorum loss. Default is 15 seconds.
- maxQuorumLossTolerance
- Maximum time (in seconds) that a loss of quorum is tolerated. After this time, the server is restarted with a reduced ensemble consisting of servers that are still online. Default is 180 seconds.
- serverStartTimeout
- Maximum time (in seconds) to wait for ZooKeeper server to start up. Default is 30 seconds.
- serverStopTimeout
- Maximum time (in seconds) to wait for ZooKeeper server to stop. Default is 30 seconds.
- com.ibm.mailbox.zookeeper.ssl.protocol
- The SSL version used for secure communication between ZooKeeper client-to-node communication. Default value is
TLS
. Valid values areTLS
,TLSv1
,TLSv1.1
,TLSv1.2
,TLSv1.3
.
- com.ibm.mailbox.zookeeper.ssl.ciphers
- The list of TLS cipher suites to use when SSL is configured for ZooKeeper client-to-node communication.
Note: If the server is configured on TLS 1.3 and the client is on TLS 1.2, then the following exception is logged in zookeeper.log file:
The client supported protocol versions [TLSv1.2] are not accepted by server preferences w[TLS13].
To resolve this, configure the properties com.ibm.mailbox.zookeeper.ssl.protocol and com.ibm.mailbox.zookeeper.ssl.ciphers as follows:
com.ibm.mailbox.zookeeper.ssl.protocol=TLSv1.3
com.ibm.mailbox.zookeeper.ssl.ciphers=<list of supported ciphers for TLS 1.3>
Where, ssl.ciphers is the list of cipher suites as comma separated values. It can consist of one or a combination of all the supported ciphers.
For example,
com.ibm.mailbox.zookeeper.ssl.protocol=TLSv1.3
com.ibm.mailbox.zookeeper.ssl.ciphers=TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256
Examples
The following code is an example of a watchdog.properties file:
enabled = true
zkConfigPath = ../../zookeeper/conf/zoo.cfg
zkStartupCmd = ../../MailboxUtilities/bin/startGMCoordinate.sh
zkStartupArg.<n> =
zkShutdownCmd = ../../MailboxUtilities/bin/stopGMCoordinate.sh
zkShutdownupArg.<n> =
pingInterval = 5
quorumLossMonitorInterval = 30
ensembleRecoveryMonitorInterval = 10
ensembleRecoveryDelay = 10
connectionTimeout = 15
lockTimeout = 15
maxQuorumLossTolerance = 180
serverStartTimeout = 30
serverStopTimeout = 30
com.ibm.mailbox.zookeeper.ssl.protocol=TLSv1.3
com.ibm.mailbox.zookeeper.ssl.ciphers=TLS_AES_128_GCM_SHA256