需求:kafka在zookeeper默认使用/为根目录,将/更换为/kafka
步骤:
1、进入kafka的根目录: [root@node01 kafka_2.11-1.0.0]# cd /develop/kafka_2.11-1.0.0/
2、3个节点都要:参照图1,编辑server.properties
3、3个节点都要:进行图2的设置。保存。
4、然后关闭kafka,再关闭zookeeper(可能不一定要关zk,我没试过不关行不行),然后在启动zk,再启动kafka。
5、参照图3,创建topic:kafka-topics.sh --create --partitions 3 --replication-factor 2 --topic kafka1 --zookeeper node01:2181,node02:2181,node03:2181,node04:2181,node05:2181,node06:2181/kafka
6、参照图4,启动生产者:kafka-console-producer.sh --broker-list node01:9092,node02:9092,node03:9092,node04:9092,node05:9092,node06:9092 --topic kafka1
7、参照图5,启动消费者:kafka-console-consumer.sh --from-beginning --topic kafka1 --zookeeper node01:2181,node02:2181,node03:2181,node04:2181,node05:2181,node06:2181/kafka
8、参照图4、图5,生产一些数据,并查看消费者是否能消费到该数据。
9、参照图6,启动zk客户端,zkCli.sh, 验证kafka在zk上的根目录是否存在。
注意:当kafka在zk中的根目录变为/kafka后,kafka-topics.sh 和 kafka-console-consumer.sh 的 --zookeeper参数的要写成 node01:2181,node02:2181,node03:2181,node04:2181,node05:2181,node06:2181/kafka
而 kafka-console-producer.sh 的 --broker-list 参数 仍然是 node01:9092,node02:9092,node03:9092,node04:9092,node05:9092,node06:9092