Kafka3.0.0版本——Broker(服役新节点)示例

目录

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

    Kafka3.0.0版本——Broker(服役新节点)示例_第1张图片

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
    

    Kafka3.0.0版本——Broker(服役新节点)示例_第2张图片

  • 编辑/opt/module/kafka-3.0.0/config/server.properties文件,修改内容如下图:

    [root@localhost /]# vi /opt/module/kafka-3.0.0/config/server.properties
    

    Kafka3.0.0版本——Broker(服役新节点)示例_第3张图片

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
    

    Kafka3.0.0版本——Broker(服役新节点)示例_第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
    

    Kafka3.0.0版本——Broker(服役新节点)示例_第5张图片

3.4、通过PrettyZoo工具验证启动的kafka是否ok

  • brokers中的ids=3已经存在,说明克隆后的kafka启动正常,如下图:

    Kafka3.0.0版本——Broker(服役新节点)示例_第6张图片

四、查看新服役的节点上是否存在原始集群中创建的名称为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
    }
    

    Kafka3.0.0版本——Broker(服役新节点)示例_第7张图片

  • 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
    

    Kafka3.0.0版本——Broker(服役新节点)示例_第8张图片

  • 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
    

    Kafka3.0.0版本——Broker(服役新节点)示例_第9张图片

  • 5、验证副本存储计划

    bin/kafka-reassign-partitions.sh --bootstrap-server 192.168.136.27:9092  --reassignment-json-file increase-replication-factor.json --verify
    

    Kafka3.0.0版本——Broker(服役新节点)示例_第10张图片

  • 6、再次查看新服役的节点上是否存在原始集群中创建的名称为news的主题,由下图可知,kafka历史服务中创建的news主题已在新节点上

    [root@localhost kafka-3.0.0]# bin/kafka-topics.sh --bootstrap-server 192.168.136.27:9092 --topic news --describe
    

    在这里插入图片描述

你可能感兴趣的:(kafka,kafka)