maybe out of date. Now recommended settings by ClickHouse Inc, are:
ZooKeeper logs transactions to a transaction log. After snapCount transactions are written to a log file a
snapshot is started and a new transaction log file is started. The default snapCount is 100K and not 10K as in the doc
preAllocSize=131072
snapCount=3000000
snapCount : (Java system property: zookeeper.snapCount) ZooKeeper records its transactions using snapshots and a transaction log (think write-ahead log).The number of transactions recorded in the transaction log before a snapshot can be taken (and the transaction log rolled) is determined by snapCount. In order to prevent all of the machines in the quorum from taking a snapshot at the same time, each ZooKeeper server will take a snapshot when the number of transactions in the transaction log reaches a runtime generated random value in the [snapCount/2+1, snapCount] range.The default snapCount is 100,000.
This:
https://docs.altinity.com/operationsguide/clickhouse-zookeeper/zookeeper-installation/#reduce-snapshots
maybe out of date. Now recommended settings by ClickHouse Inc, are:
ZooKeeper logs transactions to a transaction log. After snapCount transactions are written to a log file a snapshot is started and a new transaction log file is started. The default snapCount is 100K and not 10K as in the doc
snapCount : (Java system property: zookeeper.snapCount) ZooKeeper records its transactions using snapshots and a transaction log (think write-ahead log).The number of transactions recorded in the transaction log before a snapshot can be taken (and the transaction log rolled) is determined by snapCount. In order to prevent all of the machines in the quorum from taking a snapshot at the same time, each ZooKeeper server will take a snapshot when the number of transactions in the transaction log reaches a runtime generated random value in the [snapCount/2+1, snapCount] range.The default snapCount is 100,000.
More info in admin doc 3.8 https://zookeeper.apache.org/doc/r3.8.0/zookeeperAdmin.html