Kafka版本滚动升级(不停机)
升级说明
升级Kafka集群的版本其实很简单,核心步骤只需要4步,但是我们需要在升级的过程中确保每一步操作都不会“打扰”到producer和consumer的正常运转。为此,笔者在本机搭了一个测试环境进行生产环境的版本升级测试。在开始之前,简要介绍一下测试环境的部署情况及目标:Kafka3.3.1测试环境,而目标是把该集群升级到3.4.0版本。
一、系统环境
Zookeeper集群
172.17.9.191
172.17.9.192
172.17.9.193
Kafka集群
172.17.9.191
172.17.9.192
172.17.9.193
现在Kafka版本:3.3.1,安装目录:/home/software/kafka_2.12-3.3.1
计划升级至版本:3.4.0,按照目录:/home/software/kafka_2.12-3.4.0
二、创建测试topic
1、创建测试topic
1. /home/software/kafka_2.12-3.3.1/bin/kafka-topics.sh --bootstrap-server 172.17.9.191:9092 --create --replication-factor 3--partitions1--topic first
2.
3. /home/software/kafka_2.12-3.3.1/bin/kafka-topics.sh --bootstrap-server 172.17.9.191:9092 --create --replication-factor 1--partitions1--topic second
2、查看测试topic
/home/software/kafka_2.12-3.3.1/bin/kafka-topics.sh --bootstrap-server 172.17.9.191:9092 --describe--topic first
3、查看集群中所有的topic
/home/software/kafka_2.12-3.3.1/bin/kafka-topics.sh --bootstrap-server 172.17.9.191:9092 --list
三、升级步骤
1、安装新版本Kafka
先在172.17.9.191上面部署第一台3.4.0(新版本Kafka)。
1. tar-zxvf kafka_2.12-3.4.0 -C /home/software/
2. mkdir /home/software/kafka_2.12-3.4.0/datas
3. cp /home/software/kafka_2.12-3.3.1/config/server.properties /home/software/kafka_2.12-3.4.0/config/server.properties
2、修改好配置
注意:修改配置3.4.0(升级版本)的server.properties,添加2行,其他配置保持不变,特别是数据存储目录,cp 3.3.1(旧版本)的配置
1. cp /home/software/kafka_2.12-3.3.1/config/server.properties /home/software/kafka_2.12-3.4.0/config/server.properties
2. vim /usr/local/kafka_2.-0.10.2.2/config/server.properties
3. inter.broker.protocol.version=3.4.0
4. log.message.format.version=3.4.0
3、停止新版本
注意:停止原版本的kafka,使用kafka自带stop脚本bin下的kafka-server-stop.sh或者kill掉
1. /home/software/kafka_2.12-3.3.1/bin/kafka-server-stop.sh
2. ps-ef|grep kafka
4、启动新版本
注意:启动3.4.0的Kafka,由于之前配置了环境变量,注意用3.4.0目录下的程序去启动kafka,启动之后查看日志,发现在同步数据。
1. /home/software/kafka_2.12-3.4.0/bin/kafka-server-start.sh -daemon /home/software/kafka_2.12-3.4.0/config/server.properties
2. tail-100 /home/software/kafka_2.12-3.4.0/logs/server.log
3. cd datas/
4. ll
查看topic first:
/home/software/kafka_2.12-3.3.1/bin/kafka-topics.sh --bootstrap-server 172.17.9.191:9092 --describe--topic first
测试创建topic test1
/home/software/kafka_2.12-3.3.1/bin/kafka-topics.sh --bootstrap-server 172.17.9.191:9092 --create --replication-factor 3--partitions1--topic test1
注意:替换新版broker后,注意查看新版broker是否已经注册到zookeeper,所在机器上的的副本是否已经可用。确定可用之后再更新下一台broker。
5.看kafka在zookeeper中节点信息和查看方式
(1).先到zookeeper的bin下面
cd /home/software/zookeeper-3.8.1/bin
(2).执行命令./zkCli.sh
(3).输入命令 ls /,ls /kafka/topics可以看到topic信息。
再依次对剩下两台重复操作即可。
版权归原作者 furrer 所有, 如有侵权,请联系我们删除。