目录
- 一、服务器信息
- 二、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 



















