Kafka10:【案例】Kafka集群平滑升级

之前我们在使用Kafka 0.9.0.0版本的时候,遇到一个比较诡异的问题
针对消费者组增加消费者的时候可能会导致rebalance,进而导致部分consumer不能再消费分区数据

意思就是之前针对这个topic的5个分区只有2个消费者消费数据,后期我动态的把消费者调整为了5个,这样可能会导致部分消费者无法消费分区中的数据。

针对这个bug这里有一份详细描述:

https://issues.apache.org/jira/browse/KAFKA-2978

此bug官方在0.9.0.1版本中进行了修复
当时我们的线上集群使用的就是0.9.0.0的版本。
所以我们需要对线上集群在不影响线上业务的情况下进行升级,称为平滑升级,也就是升级的时候不影响线上的正常业务运行。

接下来我们就查看了官网文档,上面有针对集群平滑升级的一些信息

http://kafka.apache.org/090/documentation.html#upgrade

在验证这个升级流程的时候我们是在测试环境下,先模拟线上的集群环境,进行充分测试,可千万不能简单测试一下就直接搞到测试环境去做,这样是很危险的。

由于当时这个kafka集群我们还没有移交给运维负责,并且运维当时对这个框架也不是很熟悉,所以才由我们开发人员来进行平滑升级,否则这种框架升级的事情肯定是交给运维去做的。

那接下来看一下具体的平滑升级步骤

小版本之间集群升级不需要额外修改集群的配置文件。只需要按照下面步骤去执行即可。
假设kafka0.9.0.0集群在三台服务器上,需要把这三台服务器上的kafka集群升级到0.9.0.1版本。

注意:提前在集群的三台机器上把0.9.0.1的安装包,解压、配置好。

主要是log.dirs这个参数,0.9.0.1中的这个参数和0.9.0.0的这个参数一定要保持一致,这样新版本的kafka才可以识别之前的kakfa中的数据。

在集群升级的过程当中建议通过CMAK(kafkamanager)查看集群的状态信息,比较方便。

在这里插入图片描述
1:先stop掉0.9.0.0集群中的第一个节点,然后去CMAK上查看集群的broker信息,确认节点确实已停掉。并且再查看一下,节点的副本下线状态。确认集群是否识别到副本下线状态。

在这里插入图片描述
在这里插入图片描述
然后在当前节点把kafka0.9.0.1启动起来。再回到CMAK中查看broker信息,确认刚启动的节点是否已正确显示,并且还要确认这个节点是否可以正常接收和发送数据。
在这里插入图片描述
2:按照第一步的流程去依次操作剩余节点即可,就是先把0.9.0.0版本的kafka停掉,再把0.9.0.1版本的kafka启动即可。

注意:每操作一个节点,需要稍等一下,确认这个节点可以正常接收和发送数据之后,再处理下一个节点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

做一个有趣的人Zz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值