当前版本:kafka_2.12-2.8.0
、CentOS7
1. 声明
当前内容主要为学习和使用Kafka搭建集群,当前内容借鉴官方文档
官方文档描述如下:要想搭建集群,就必须配置相同的zookeeper地址
,并且每个kafka的broker.id必须不相同
,如果相同那么只能启动最开始的那个,另外一个启动失败!
2. 搭建集群
主机 | ip | 作用 |
---|---|---|
主机1 | 192.168.1.101 | 公用的zookeeper |
主机2 | 192.168.1.102 | Kafka1 |
主机3 | 192.168.1.106 | Kafka2 |
注意其中所有主机之间两两可以ping通!并且都开放了对应的端口!
1.首先启动zookeeper,注意修改conf中的zoo.cfg为当前的ip地址
./bin/zkServer.sh start
2.修改主机3的kafka中的config中的server.properties中的broker.id为0和zookeeper的配置
3.修改主机2中的kafka的config的server.properties中的broker.id=1
和配置zookeeper的地址
4.开始启动主机3的kafka,等待主机3启动完毕后再启动主机2的kafka
./bin/kafka-server-start.sh config/server.properties
结果如下:
此时搭建集群完成!
注意事项:搭建集群的时候必须清空kafka中的log日志,否则出现搭建集群失败的错误
直接找到log.dirs属性
直接使用rm -rf logs和rm -rf log方式全部删除
,再次启动就不会报错了
3. 测试集群
上面搭建完集群,这里开始测试是否真的完成了集群的搭建,测试如下
- 使用生产者向一个机器的ip写消息
- 使用消费者向另外一个机器的ip拉取消息
如果可以拉取得到,那么表示测试成功!
测试结果如下:
向192.168.1.102的机器中的test-clusters这个topic发送消息
向192.168.1.106的这个test-clusters的topic订阅消息
这里显示多次测试的结果,测试成功!集群搭建成功
4. 总结
1. kafka搭建集群很简单,只需要配置broker.id不同,zookeeper的地址相同即可,注意删除log日志文件,它会导致错误的集群