目录
- 一、服务器信息
- 二、先启动4台zookeeper,再启动4台kafka
- 三、通过PrettyZoo工具验证启动的kafka是否ok
- 四、查看4台kafka集群节点上是否存在创建的名称为news的主题
- 五、退役旧节点
- 5.1、执行负载均衡操作
- 5.2、 执行停止命令
- 5.3、再次查看kafka中的创建过的名称为news的topic
一、服务器信息
- 三台服务器
原始服务器名称 原始服务器ip centos7虚拟机1 192.168.136.27 centos7虚拟机2 192.168.136.28 centos7虚拟机3 192.168.136.29 centos7虚拟机4 192.168.136.30
二、先启动4台zookeeper,再启动4台kafka
-
分别启动4台zookeeper
[root@localhost /]# cd /opt/module/zookeeper-3.5.7/bin/ [root@localhost bin]# pwd /opt/module/zookeeper-3.5.7/bin [root@localhost bin]# sh zkServer.sh start
-
再分别启动4台kafka
[root@localhost bin]# cd /opt/module/kafka-3.0.0/ [root@localhost kafka-3.0.0]# pwd /opt/module/kafka-3.0.0 [root@localhost kafka-3.0.0]# bin/kafka-server-start.sh -daemon config/server.properties [root@localhost kafka-3.0.0]# jps
三、通过PrettyZoo工具验证启动的kafka是否ok
-
brokers中的ids=0、1、2、3都存在,说明4台kafka启动正常,如下图:
四、查看4台kafka集群节点上是否存在创建的名称为news的主题
-
查看kafka中的创建过的名称为news的topic,由下图可知:在4台服务器创建的名称为news的主题都存在。
[root@localhost home]# cd /opt/module/kafka-3.0.0/ [root@localhost kafka-3.0.0]# bin/kafka-topics.sh --bootstrap-server 192.168.136.27:9092 --topic news --describe
五、退役旧节点
5.1、执行负载均衡操作
-
创建一个要均衡的主题。
[root@localhost kafka-3.0.0]# vi topics-to-move.json { "topics": [ {"topic": "news"} ], "version": 1 }
-
创建执行计划。
bin/kafka-reassign-partitions.sh --bootstrap-server 192.168.136.27:9092 --topics-to-move-json-file topics-to-move.json --broker-list "0,1,2" --generate
-
创建副本存储计划(所有副本存储在 broker0、broker1、broker2 中)。
[root@localhost kafka-3.0.0]# vi increase-replication-factor.json {"version":1,"partitions":[{"topic":"first","partition":0,"replicas":[2,0,1],"log_dirs":["any","any","any"]},{"topic":"first","partition":1,"replicas":[0,1,2],"log_dirs":["any","any","any"]},{"topic":"first","partition":2,"replicas":[1,2,0],"log_dirs":["any","any","any"]}]}
-
执行副本存储计划。
[root@localhost kafka-3.0.0]# bin/kafka-reassign-partitions.sh --bootstrap-server 192.168.136.27:9092 --reassignment-json-file increase-replication-factor.json --execute
-
验证副本存储计划。
[root@localhost kafka-3.0.0]# bin/kafka-reassign-partitions.sh --bootstrap-server 192.168.136.27:9092 --reassignment-json-file increase-replication-factor.json --verify
5.2、 执行停止命令
-
在192.168.136.30服务器上执行停止kafka命令。
[root@localhost kafka-3.0.0]# bin/kafka-server-stop.sh
5.3、再次查看kafka中的创建过的名称为news的topic
-
再次查看kafka中的创建过的名称为news的topic,由下图可知:在4台服务器中只有3台服务器创建了名称为news的主题。
[root@localhost home]# cd /opt/module/kafka-3.0.0/ [root@localhost kafka-3.0.0]# bin/kafka-topics.sh --bootstrap-server 192.168.136.27:9092 --topic news --describe