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 --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

示例图

三、升级步骤

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 --partitions 1 --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信息。在这里插入图片描述

再依次对剩下两台重复操作即可。
在这里插入图片描述
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值