博客 Kafka版本滚动升级(不停机)

Kafka版本滚动升级(不停机)

   数栈君   发表于 2023-08-14 10:01  1306  0

升级说明

升级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 --partitions 1 --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 --partitions 1 --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

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/8b2d147ad4882b4bc187d88c14f922ca..png
  

三、升级步骤

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
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/3240e26a25babd5d986dc0d0b0bf99a8..png
  

查看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 --partitions 1 --topic test1
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/4af6a7b1c099a85c6afa8656fabffcfe..png
  

注意:替换新版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信息。
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/f761a9058fccef1a3485722c18b24393..png
  
再依次对剩下两台重复操作即可。
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/2a0c46ee45ff517b1190b2e96be02951..png
  
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/5ff4a834cdeb7941abab03586ab71c6c..png
  

免责申明:


本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!

《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu

《数栈V6.0产品白皮书》下载地址:
https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:
https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:
https://github.com/DTStack

0条评论
下一篇:
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群