【Kafka-Shell命令中zookeeper与boostrap server参数】Kafka-Shell命令中--zookeeper与--boostrap-server参数的区别
1)区别
-
--zookeeper
:是旧版 Kafka 的参数(v2.8以前) -
--bootstrap.server
:新版 Kafka 的参数。Kafka 开发团队重写了 ZooKeeper 的 Quorum 控制器代码并嵌入到 Kafka 中。所以从 v2.8 版本开始,Kafka 不再依赖 ZooKeeper。(bootstrap.servers 参数,只在启动客户端连接 Kafka 服务时使用。并且即使列表里面填了多个节点,只要有一个可用就行了。)
2)代码实例
(1)旧版(<v2.2):
kafka-topics.sh --zookeeper node1:2181,node2:2181,node3:2181/kafka --create --topic ..
旧版用 --zookeeper 参数,主机名(或IP)和端口用 ZooKeeper 的2181,也就是 server.properties 文件中 zookeeper.connect 属性的配置值.
ps:使用 --zookeeper 参数还需要指定 kafka 的 Broker 路径,注意不是在根目录下,是在 /kafka 路径下。
(2)新版(>v2.2):
kafka-topics.sh --bootstrap-server node1:9092 --create --topic ..
新版用 --bootstrap-server 参数,主机名(或IP)和端口用某个节点的即可,即主机名(或主机IP):9092。9092是 Kafka 的监听端口