// What runs on ZooKeeper / clickhouse
Does ClickHouse use ZooKeeper?
ZooKeeper or ClickHouse KeeperFor replicated tables, ClickHouse needs a coordination service: ZooKeeper 3.4.5 or newer, or ClickHouse Keeper, which the documentation recommends. Keeper is written in C++, uses Raft through the NuRaft library, and speaks the ZooKeeper client protocol, so ClickHouse and other ZooKeeper clients talk to it unchanged.
Trusted globally by enterprises




What ClickHouse uses ZooKeeper for
- Replica metadata for ReplicatedMergeTree tables: parts, merges and the replication log.
- Distributed DDL (ON CLUSTER) queue.
Which ZooKeeper version ships with ClickHouse
ClickHouse does not bundle a ZooKeeper jar. It connects to an external ZooKeeper ensemble or to ClickHouse Keeper, which can run standalone or inside clickhouse-server.
CVE counts are ZooKeeper's own advisories matched against the upstream version. The Apache ZooKeeper project does not assess end-of-life lines against new advisories, so "not assessed" means unknown, not safe.
Which coordination service is ClickHouse using?
-- Returns rows when a ZooKeeper-compatible service is configured SELECT * FROM system.zookeeper_connection; -- Keeper answers the same four-letter words as ZooKeeper -- echo srvr | nc keeper1.internal 9181
Can ClickHouse run without ZooKeeper?
Yes, with ClickHouse Keeper. It is protocol-compatible with ZooKeeper, but its snapshot, log and interserver formats are not, so a mixed ZooKeeper and Keeper ensemble is impossible. Existing ZooKeeper data is converted with clickhouse-keeper-converter.
ClickHouse Keeper was declared feature complete in 21.12 and has run in ClickHouse Cloud since May 2022.
Your options
Move to ClickHouse Keeper
The usual target. Convert the ZooKeeper data with clickhouse-keeper-converter and cut over during a maintenance window, since the two cannot share an ensemble.
Keep ZooKeeper, patched
Where the same ensemble also serves Kafka, Solr or Hadoop, replacing it for ClickHouse alone does not retire it. OSSeva patches the shared ensemble.
Most teams buy this at the product level: keep the ClickHouse estate supported, including the ZooKeeper under it. See ClickHouse support.
Frequently asked questions
Can ClickHouse run without ZooKeeper?
Yes, with ClickHouse Keeper, which ClickHouse recommends. Keeper implements the ZooKeeper client protocol on top of Raft.
Can I mix ZooKeeper and ClickHouse Keeper nodes?
No. Keeper's interserver protocol and storage formats differ from ZooKeeper's, so an ensemble is one or the other. Data moves across with clickhouse-keeper-converter.
Keep ClickHouse and the ZooKeeper under it supported.
Send us your versions; we reply with coverage, exposure and a plan within five working days.