在 Linux 环境下,**Kafka 连接 ZooKeeper(ZK)**通常有两种场景:
下面分别说明。
路径一般是:
$KAFKA_HOME/config/server.properties
关键配置项:
zookeeper.connect=localhost:2181
如果是集群:
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181
还可以指定 Kafka 在 ZK 中的根路径:
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181/kafka
bin/kafka-server-start.sh -daemon config/server.properties
Kafka 启动后会自动连接 ZK,并注册:
bin/zookeeper-shell.sh localhost:2181
常用命令:
ls /
ls /brokers
ls /brokers/ids
get /brokers/ids/0
zkCli.sh -server localhost:2181
示例:
ls /kafka
get /kafka/brokers/ids/0
Kafka 2.8 开始支持 KRaft 模式(无 ZooKeeper):
# 不配置 zookeeper.connect
process.roles=broker,controller
⚠️ 生产环境是否去 ZK,要看 Kafka 版本和稳定性要求。
zkServer.sh status
telnet zk-host 2181
/kafka,但你查 /)如果你愿意,可以告诉我:
我可以给你更精确的命令。