kafka
runtime_error
ai_generated
true
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /brokers/ids
ID: kafka/zk-timeout-on-startup
78%Fix Rate
85%Confidence
1Evidence
2023-08-15First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| Kafka 3.4.0 | active | — | — | — |
| ZooKeeper 3.8.1 | active | — | — | — |
| Kafka 3.5.1 | active | — | — | — |
Root Cause
Kafka broker fails to register with ZooKeeper due to network timeout or ZooKeeper cluster unavailability during startup.
generic中文
Kafka代理在启动时因网络超时或ZooKeeper集群不可用而无法向ZooKeeper注册。
Official Documentation
https://kafka.apache.org/documentation/#zk_connection_lossWorkarounds
-
85% success Check ZooKeeper connectivity: `echo stat | nc zookeeper1 2181` and ensure ZooKeeper ensemble is healthy (quorum formed). Then verify Kafka broker can resolve ZooKeeper hostnames via DNS.
Check ZooKeeper connectivity: `echo stat | nc zookeeper1 2181` and ensure ZooKeeper ensemble is healthy (quorum formed). Then verify Kafka broker can resolve ZooKeeper hostnames via DNS.
-
75% success Increase `zookeeper.connection.timeout.ms` in broker config to 30000 (30 seconds) and reduce `zookeeper.session.timeout.ms` to 18000 to allow more time for initial handshake.
Increase `zookeeper.connection.timeout.ms` in broker config to 30000 (30 seconds) and reduce `zookeeper.session.timeout.ms` to 18000 to allow more time for initial handshake.
-
90% success Example fix: set `zookeeper.connect=zk1:2181,zk2:2181,zk3:2181/kafka` and ensure `zookeeper.connection.timeout.ms=30000` in server.properties.
Example fix: set `zookeeper.connect=zk1:2181,zk2:2181,zk3:2181/kafka` and ensure `zookeeper.connection.timeout.ms=30000` in server.properties.
中文步骤
Check ZooKeeper connectivity: `echo stat | nc zookeeper1 2181` and ensure ZooKeeper ensemble is healthy (quorum formed). Then verify Kafka broker can resolve ZooKeeper hostnames via DNS.
Increase `zookeeper.connection.timeout.ms` in broker config to 30000 (30 seconds) and reduce `zookeeper.session.timeout.ms` to 18000 to allow more time for initial handshake.
Example fix: set `zookeeper.connect=zk1:2181,zk2:2181,zk3:2181/kafka` and ensure `zookeeper.connection.timeout.ms=30000` in server.properties.
Dead Ends
Common approaches that don't work:
-
65% fail
It masks the symptom but does not fix the root cause of intermittent connectivity.
-
80% fail
The broker will still fail to connect if ZooKeeper is down or misconfigured.