自建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有要求,建议使用方案二

kafka集群迁移方案相关推荐

  1. Kafka跨集群迁移方案MirrorMaker原理、使用以及性能调优实践

    序言 Kakfa MirrorMaker是Kafka 官方提供的跨数据中心的流数据同步方案.其实现原理,其实就是通过从Source Cluster消费消息然后将消息生产到Target Cluster, ...

  2. 迁移到其他机器_有赞大数据离线集群迁移实战

    ‍‍ 点击关注"有赞coder" 获取更多技术干货哦- 作者:郭理想 & 任海潮部门:数据中台 一.背景 有赞是一家商家服务公司,向商家提供强大的基于社交网络的,全渠道经营 ...

  3. java进阶Kafka集群实战之原理分析及优化教程全在这里

    我不去想是否能够成功 既然选择了Java 便只顾风雨兼程 我不去想能否征服Kafka集群 既然钟情于Java 就勇敢地追随千锋 我不去想Kafka集群有多么晦涩难懂 既然目标是远方 留给世界的只能是努 ...

  4. 避坑指南:Kafka集群快速扩容的方案总结

    什么是数据迁移 Apache Kafka 对于数据迁移的官方说法是分区重分配.即重新分配分区在集群的分布情况.官方提供了kafka-reassign-partitions.sh脚本来执行分区重分配操作 ...

  5. Kafka 的线上集群部署方案是怎样的?

    前言 本文隶属于专栏<1000个问题搞定大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见1000个问题搞定大数据技 ...

  6. Kafka集群间同步数据方案-Flume

    Apache Flume 是一个分布式.高可靠.高可用的用来收集.聚合.转移不同来源的大量日志数据到中央数据仓库的工具. 系统要求 Java运行环境 - Java 1.8或更高版本 体系结构 Even ...

  7. Kafka 集群扩容、分区重新分配、SparkStreaming自适应上游kafka topic partition数目变化

    一.扩容场景 了解了数据迁移,我们来看下哪些场景需要进行扩容,然后有哪些方法可以实现快速扩容的效果.通常有如下两种需要紧急扩容的场景: 集群所有节点负载都高,需要快速扩容. 集群内某几台节点负载很高, ...

  8. 快手Kafka集群演进之路学习笔记

    https://www.infoq.cn/article/Q0o*QzLQiay31MWiOBJH/ 一.背景 2019年快手Kafka集群日消息处理量为数万亿级别,峰值超过1亿/s. 在快手,Kaf ...

  9. 千亿级数据量kafka集群性能调优实战总结

    1.(千亿级kafka集群性能调优)集群信息 一个kafka集群,40台broker,基于Ambari,hdp管理(ambari_v2.5,hdp_v2.6) 10台broker配置5块3T盘 30台 ...

最新文章

  1. 如何做好网络推广“放大招”,教你如何更快速的给新上线网站关键词排名?...
  2. python画饼图-python matplotlib画饼图
  3. 05-VTK在图像处理中的应用(2)
  4. 文件分割器,一个读取流,相应多个输出流,并且生成的碎片文件都有有序的编号...
  5. 必看 | VLAN划分和网络配置实例
  6. zookeeper启动失败排查
  7. Spring+Quartz实现定时任务
  8. .Net Core with 微服务 - Seq 日志聚合
  9. android关机分区卸载,Android关机重启流程(二)
  10. 序列化与反序列化注意事项 java
  11. Spring框架 AOP面向切面编程(转)
  12. 探索ring0之内核概述
  13. read()/write()的生命旅程之二——第二章:read()
  14. 千年新论:马谡的错误在于盲目创新,正确做法是死板教条
  15. [APUE]进程关系(上)
  16. HFSS19 官方中文教程系列 L05
  17. Linux 内核和 Windows 内核有什么区别?
  18. 小米10获取root权限_安卓刷机搞机小能手必备的三款root神器 最后一款你肯定用过...
  19. 基于微信小程序的资产管理平台的设计与实现
  20. 【HTML】HTML自定义网页头部小图标

热门文章

  1. java图书管理系统(前后端分离前)
  2. g30u盘启动 中科曙光1620_A320-G30
  3. css实现文字连续光影特效
  4. Mybatis缓存 自定义缓存
  5. c++模板专题 - Deduced Context
  6. 会声会影视频剪辑软件2023中文旗舰版免费下载及使用教程
  7. 交通运输走向净零的旅程:替代燃料汽车对实现气候目标至关重要
  8. CSS3动画效果-transition
  9. 图解 java_万字图解Java多线程
  10. mysql 数据库打开失败的原因_mysql数据库启动失败