kafka集群迁移方案

自建Kafka集群迁移上云

阿里云:Alibaba Cloud Help Center - Cloud Definition and Explanation of Cloud Based Services - Alibaba Cloud

腾讯云:消息队列 CKafka 方案1:单写双消费迁移 - 消息平台操作指南 - 文档中心 - 腾讯云

自建Kafka集群迁移

迁移前准备

1、kafka集群规划,主要考虑磁盘容量以及扩展性,如果数据量比较大,可以考虑部署5个broker节点,每个节点挂载4块数据盘;

2、创建topic,分区数和副本数建议与旧集群一致;

注意点

1、由于新集群没有旧集群的消费组信息,切换之前请确认代码配置消费组策略是latest(从最新消费)还是earliest(从头消费),以下针对不同方案提供不同的处理方式

2、kafka自带的kafka-mirror-maker.sh数据同步工具,迁移数据速度比较慢,并且新旧topic消息的分区和offset不一致

方案一:不迁移数据

 注意:

如果消费组策略是earliest(从头消费),切换消费者之前不需要做任何配置;

如果消费组策略是latest(从最新消费),切换消费者之前需要在新集群手动创建消费组并把消费组策略调为earliest

1、切换生产流,生产者将数据生产到新的Kafka 实例;

2、等待消费者持续消费旧Kafka集群的数据,直到消费完成(kafdrop或者grafana可以观察);

3、切换消费者,消费新kafka集群数据;

4、观察数据,生产和消费正常,旧集群没有对应TCP连接,即迁移完毕。

方案二:迁移数据

 注意:

如果消费组策略是latest(从最新消费),切换消费者之前不需要做任何配置;

如果消费组策略是earliest(从头消费),切换消费者之前需要在新集群手动创建消费组并把消费组策略调为latest

1、配置kafka集群数据同步;

2、停止生产流;

3、等待消费者持续消费旧Kafka集群的数据,直到消费完成(kafdrop或者grafana可以观察);

4、切换消费者到新kafka集群;

5、启动生产流,生产者将数据生产到新的Kafka 实例;

6、观察数据,生产和消费正常,旧集群没有对应TCP连接,即迁移完毕。

方案三:迁移数据特殊情况(消费者做幂等处理或者offset不提交到kafka)

 注意:

如果消费组策略是earliest(从头消费),切换消费者之前不需要做任何配置;

如果消费组策略是latest(从最新消费),切换消费者之前需要在新集群手动创建消费组并把消费组策略调为earliest

1、配置kafka集群数据同步;

2、切换生产流,生产者将数据生产到新的Kafka 实例;

3、切换消费者,消费新kafka集群数据;

4、观察数据,生产和消费正常,旧集群没有对应TCP连接,即迁移完毕。

 

迁移建议

1、如果旧集群topic设置了数据过期时间,建议使用方案一,迁移后等数据过期后即可回收旧集群;

2、如果旧集群topic数据永久保存,建议使用方案一,旧集群数据使用nifi同步到冷备集群即可回收旧机器;

3、如果对消息的分区和offset有要求,建议使用方案二

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值