Kafka中参数--zookeeper和--bootstrap-server的区别
一、区别
- --zookeeper : 是旧版Kafka的参数(v2.8以前)
- --bootstrap.server : 新版Kafka的参数。Kafka开发团队重写了ZooKeeper的Quorum控制器代码并嵌入到Kafka中。所以从v2.8版本开始,Kafka不再依赖ZooKeeper。(bootstrap.servers参数,只在启动客户端连接Kafka服务时使用。并且,即使列表里面填了多个节点,只要有一个可用就行了。)
二、实例代码
旧版(<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路径下。
新版(>v2.2):
kafka-topics.sh --bootstrap-server node1:9092 --create --topic ..
新版用--bootstrap-server参数,主机名(或IP)和端口用某个节点的即可,即主机名(或主机IP):9092。9092是Kafka的监听端口