目录
- 一、服务器信息
- 二、VMware克隆服务节点(将虚拟机1克隆成虚拟机4 )
- 三、克隆后的(192.168.136.30)服务节点配置文件修改
- 3.1、修改zookeeper服务配置文件
- 3.2、修改kafka服务配置文件
- 3.3、先启动zookeeper,再启动kafka
- 3.4、通过PrettyZoo工具验证启动的kafka是否ok
- 四、查看新服役的节点上是否存在原始集群中创建的名称为news的主题
- 五、如何解决新服役的节点上不存在历史集群中创建的主题
一、服务器信息
-
三台服务器
原始服务器名称 原始服务器ip centos7虚拟机1 192.168.136.27 centos7虚拟机2 192.168.136.28 centos7虚拟机3 192.168.136.29 -
克隆后的虚拟机服务节点信息
克隆后的服务器名称 克隆后的服务器ip centos7虚拟机4 192.168.136.30
二、VMware克隆服务节点(将虚拟机1克隆成虚拟机4 )
- VMware克隆kafka服务节点参考博主此博文链接:https://wwwxz.blog.csdn.net/article/details/132178200?spm=1001.2014.3001.5502
三、克隆后的(192.168.136.30)服务节点配置文件修改
3.1、修改zookeeper服务配置文件
-
编辑/opt/module/zookeeper-3.5.7/conf/zoo.cfg 配置文件,新增server信息,如下图:
[root@localhost /]# vi /opt/module/zookeeper-3.5.7/conf/
3.2、修改kafka服务配置文件
-
进入/opt/module/kafka-3.0.0/目录,删除原始的datas和logs文件夹
[root@localhost kafka-3.0.0]# rm -rf datas [root@localhost kafka-3.0.0]# rm -rf logs
-
编辑/opt/module/kafka-3.0.0/config/server.properties文件,修改内容如下图:
[root@localhost /]# vi /opt/module/kafka-3.0.0/config/server.properties
3.3、先启动zookeeper,再启动kafka
-
启动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
-
再启动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
3.4、通过PrettyZoo工具验证启动的kafka是否ok
-
brokers中的ids=3已经存在,说明克隆后的kafka启动正常,如下图:
四、查看新服役的节点上是否存在原始集群中创建的名称为news的主题
-
查看kafka中的创建过的名称为news的topic,由下图可知:在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
五、如何解决新服役的节点上不存在历史集群中创建的主题
-
1、创建一个要均衡的主题
[root@localhost kafka-3.0.0]# vim topics-to-move.json #topics-to-move.json的内容如下 { "topics": [ {"topic": "news"} ], "version": 1 }
-
2、生成一个负载均衡的计划
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,3" --generate
-
3、创建副本存储计划(所有副本存储在 broker0、broker1、broker2、broker3中)
[root@localhost kafka-3.0.0]# vim increase-replication-factor.json #increase-replication-factor.json的内容如下 {"version":1,"partitions":[{"topic":"news","partition":0,"replicas":[2,3,0],"log_dirs":["any","any","any"]},{"topic":"news","partition":1,"replicas":[3,0,1],"log_dirs":["any","any","any"]},{"topic":"news","partition":2,"replicas":[0,1,2],"log_dirs":["any","any","any"]}]}
-
4、执行副本存储计划
bin/kafka-reassign-partitions.sh --bootstrap-server 192.168.136.27:9092 --reassignment-json-file increase-replication-factor.json --execute
-
5、验证副本存储计划
bin/kafka-reassign-partitions.sh --bootstrap-server 192.168.136.27:9092 --reassignment-json-file increase-replication-factor.json --verify
-
6、再次查看新服役的节点上是否存在原始集群中创建的名称为news的主题,由下图可知,kafka历史服务中创建的news主题已在新节点上
[root@localhost kafka-3.0.0]# bin/kafka-topics.sh --bootstrap-server 192.168.136.27:9092 --topic news --describe