Kafka群集部署

网友投稿 240 2022-11-09

Kafka群集部署

一、环境准备

主机名 IP 运行服务
kafka1 192.168.171.131 kafka+zookeeper
kafka2 192.168.171.134 kafka+zookeeper
kafka3 192.168.171.135 kafka+zookeeper

二、部署zookeeper服务

源码包(提取码:6q58)1、kafka1配置如下

2、kafka2配置如下

#修改ID号为2 [root@kafka2 ~]# echo 2 > /usr/local/zookeeper/data/myid [root@kafka2 ~]# /usr/local/zookeeper/bin/zkServer.sh start

3、kafka3配置如下

#修改ID号为3 [root@kafka3 ~]# echo 3 > /usr/local/zookeeper/data/myid [root@kafka3 ~]# /usr/local/zookeeper/bin/zkServer.sh start

4、查看zookeeper群集内节点的角色

#kafka1 [root@kafka1 conf]# /usr/local/zookeeper/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Mode: follower #角色为follower #kafka2 [root@kafka2 ~]# /usr/local/zookeeper/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Mode: leader #角色为leader #kafka3 [root@kafka3 ~]# /usr/local/zookeeper/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Mode: follower #角色为follower

三、部署kafka集群

1、kafka1配置如下

2、kafka2配置如下:

#修改与kafka01冲突之处 [root@kafka2 ~]# cd /usr/local/kafka/ [root@kafka2 kafka]# sed -i 's/192.168.171.131/192.168.171.134/g' config/server.properties [root@kafka2 kafka]# sed -i 's/broker.id=1/broker.id=2/g' config/server.properties #启动kafka服务 [root@kafka2 kafka]# cd bin/ [root@kafka2 bin]# ./kafka-server-start.sh ../config/server.properties & [root@kafka2 bin]# netstat -anupt | grep 9092

3、kafka3配置如下:

[root@kafka3 ~]# cd /usr/local/kafka/ [root@kafka3 kafka]# sed -i 's/192.168.171.131/192.168.171.135/g' config/server.properties [root@kafka3 kafka]# sed -i 's/broker.id=1/broker.id=3/g' config/server.properties #启动kafka服务 [root@kafka3 kafka]# cd bin/ [root@kafka3 bin]# ./kafka-server-start.sh ../config/server.properties & [root@kafka3 bin]# netstat -anupt | grep 9092

4、发布与订阅消息测试

#创建名为my-replicated-topic的topic [root@kafka1 bin]# ./kafka-topics.sh --create --bootstrap-server 192.168.171.131:9092 --replication-factor 3 --partitions 1 --topic my-replicated-topic #查看topic的状态和leader [root@kafka1 bin]# ./kafka-topics.sh --describe --bootstrap-server 192.168.171.131:9092 --topic my-replicated-topic Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:segment.bytes=1073741824 Topic: my-replicated-topic Partition: 0 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1 #返回的信息表示partition数量为1,副本数量为3,segment字节数为1073741824 #名称为“my-replicated-topic”,ID为2的节点为leader [root@kafka1 bin]# ./kafka-console-producer.sh --broker-list 192.168.171.131:9092 --topic my-replicated-topic >abc >123 #在其他节点上订阅消息 [root@kafka2 bin]# ./kafka-console-consumer.sh --bootstrap-server 192.168.171.134:9092 --from-beginning --topic my-replicated-topic abc 123

5、模拟leader宕机,查看topic的状态及新的leader

#可以看到当前leader是ID为2的节点 [root@kafka1 bin]# ./kafka-topics.sh --describe --bootstrap-server 192.168.171.131:9092 --topic my-repated-topic Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:segment.bytes=1073741824 Topic: my-replicated-topic Partition: 0 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1 #到kafka02主机上停止kafka服务 [root@kafka2 bin]# ./kafka-server-stop.sh #再次查看leader是哪个节点?(可以发现leader换成了ID为3的节点) [root@kafka1 bin]# ./kafka-topics.sh --describe --bootstrap-server 192.168.171.131:9092 --topic my-replicated-topic Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:segment.bytes=1073741824 Topic: my-replicated-topic Partition: 0 Leader: 3 Replicas: 2,3,1 Isr: 3,1

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:2018年人工智能领域值得关注的趋势报告,13个趋势来展望未来AI技术
下一篇:加速下一代多媒体设备交付的开放标准
相关文章

 发表评论

暂时没有评论,来抢沙发吧~