生产环境kafka平滑迁移之旅,有哪些细节需要注意?

2026-04-19 11:272阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2428个文字,预计阅读时间需要10分钟。

生产环境kafka平滑迁移之旅,有哪些细节需要注意?

背景:线上kafka集群,3台机器,3个broker;其中某台机器因硬件故障,需停机维修;停机意味着该机器上的服务会停止。

目标:本次kafka迁移的目标是使机器可以停机维修,同时不依赖于kafka的上线服务。

具体步骤:

1.在其他两台正常运行的机器上启动broker,确保集群的可用性。

2.将故障机器上的数据迁移到其他机器。

3.停机故障机器,进行硬件维修。

4.维修完成后,将故障机器的数据迁移回原机器,并启动broker。

背景

线上kafka集群,3台机器,3个broker;其中某台机器因为硬件故障,需要停机维修;停机意味这跑在机器上的服务会停止。所以本次做kafka迁移的目标 是机器可以停止但依赖kafka的上游和下游业务可不能停止,因为所属行业的特殊性,服务的停止,对业务的影响和伤害还蛮大的。

分析

我们知道kafka是有高可用机制的。kafka的高可用机制,是靠分区多副本来保证的 :某个topic 的 leader分区挂了,kafka会从其它follower分区里,选择一个分区做为leader分区,继续对生产者和消费者提供读写服务。所以理论上,我们是可以停止某台机器上的kafka broker服务;kafka的broker 协调节点会自动切换其它follower分区为leader分区。

大概的过程是这样的,切换前:

切换后:

网上理论分析基本是这样了,但是以个人多年实战研发经验来看,每次的平衡迁移都不会是一次简单的事。

阅读全文

本文共计2428个文字,预计阅读时间需要10分钟。

生产环境kafka平滑迁移之旅,有哪些细节需要注意?

背景:线上kafka集群,3台机器,3个broker;其中某台机器因硬件故障,需停机维修;停机意味着该机器上的服务会停止。

目标:本次kafka迁移的目标是使机器可以停机维修,同时不依赖于kafka的上线服务。

具体步骤:

1.在其他两台正常运行的机器上启动broker,确保集群的可用性。

2.将故障机器上的数据迁移到其他机器。

3.停机故障机器,进行硬件维修。

4.维修完成后,将故障机器的数据迁移回原机器,并启动broker。

背景

线上kafka集群,3台机器,3个broker;其中某台机器因为硬件故障,需要停机维修;停机意味这跑在机器上的服务会停止。所以本次做kafka迁移的目标 是机器可以停止但依赖kafka的上游和下游业务可不能停止,因为所属行业的特殊性,服务的停止,对业务的影响和伤害还蛮大的。

分析

我们知道kafka是有高可用机制的。kafka的高可用机制,是靠分区多副本来保证的 :某个topic 的 leader分区挂了,kafka会从其它follower分区里,选择一个分区做为leader分区,继续对生产者和消费者提供读写服务。所以理论上,我们是可以停止某台机器上的kafka broker服务;kafka的broker 协调节点会自动切换其它follower分区为leader分区。

大概的过程是这样的,切换前:

切换后:

网上理论分析基本是这样了,但是以个人多年实战研发经验来看,每次的平衡迁移都不会是一次简单的事。

阅读全文