如何修复Kafka创建Topic时报错zookeeper is not a recognized option
问题原因
- 你使用的Kafka为3.0及以上版本,该版本已正式移除
kafka-topics.sh脚本中的--zookeeper参数,Kafka集群元数据管理已逐步从ZooKeeper切换为KRaft模式,即使你采用保留ZooKeeper的部署方式,新版命令行工具也不再支持直接对接ZooKeeper操作Topic。
解决办法
将原命令中的--zookeeper参数替换为--bootstrap-server,指定Kafka Broker的访问地址和端口即可,修正后的命令如下:
$ docker exec -ti kafka-server1 \ /opt/bitnami/kafka/bin/kafka-topics.sh --create \ --bootstrap-server kafka-server1:9092 \ --replication-factor 1 \ --partitions 1 \ --topic topic_model_local
- 若集群存在多Broker,
--bootstrap-server后可填写任意一个可用的Broker地址,多个地址用逗号分隔即可。 - 若你有特殊场景必须使用ZooKeeper操作Topic,可将Kafka版本降级至2.8及以下,该版本区间仍兼容
--zookeeper参数。
内容的提问来源于stack exchange,提问作者dev-ninja
相关产品推荐
相关产品推荐

