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有要求,建议使用方案二
kafka集群迁移方案相关推荐
- Kafka跨集群迁移方案MirrorMaker原理、使用以及性能调优实践
序言 Kakfa MirrorMaker是Kafka 官方提供的跨数据中心的流数据同步方案.其实现原理,其实就是通过从Source Cluster消费消息然后将消息生产到Target Cluster, ...
- 迁移到其他机器_有赞大数据离线集群迁移实战
点击关注"有赞coder" 获取更多技术干货哦- 作者:郭理想 & 任海潮部门:数据中台 一.背景 有赞是一家商家服务公司,向商家提供强大的基于社交网络的,全渠道经营 ...
- java进阶Kafka集群实战之原理分析及优化教程全在这里
我不去想是否能够成功 既然选择了Java 便只顾风雨兼程 我不去想能否征服Kafka集群 既然钟情于Java 就勇敢地追随千锋 我不去想Kafka集群有多么晦涩难懂 既然目标是远方 留给世界的只能是努 ...
- 避坑指南:Kafka集群快速扩容的方案总结
什么是数据迁移 Apache Kafka 对于数据迁移的官方说法是分区重分配.即重新分配分区在集群的分布情况.官方提供了kafka-reassign-partitions.sh脚本来执行分区重分配操作 ...
- Kafka 的线上集群部署方案是怎样的?
前言 本文隶属于专栏<1000个问题搞定大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见1000个问题搞定大数据技 ...
- Kafka集群间同步数据方案-Flume
Apache Flume 是一个分布式.高可靠.高可用的用来收集.聚合.转移不同来源的大量日志数据到中央数据仓库的工具. 系统要求 Java运行环境 - Java 1.8或更高版本 体系结构 Even ...
- Kafka 集群扩容、分区重新分配、SparkStreaming自适应上游kafka topic partition数目变化
一.扩容场景 了解了数据迁移,我们来看下哪些场景需要进行扩容,然后有哪些方法可以实现快速扩容的效果.通常有如下两种需要紧急扩容的场景: 集群所有节点负载都高,需要快速扩容. 集群内某几台节点负载很高, ...
- 快手Kafka集群演进之路学习笔记
https://www.infoq.cn/article/Q0o*QzLQiay31MWiOBJH/ 一.背景 2019年快手Kafka集群日消息处理量为数万亿级别,峰值超过1亿/s. 在快手,Kaf ...
- 千亿级数据量kafka集群性能调优实战总结
1.(千亿级kafka集群性能调优)集群信息 一个kafka集群,40台broker,基于Ambari,hdp管理(ambari_v2.5,hdp_v2.6) 10台broker配置5块3T盘 30台 ...
最新文章
- 如何做好网络推广“放大招”,教你如何更快速的给新上线网站关键词排名?...
- python画饼图-python matplotlib画饼图
- 05-VTK在图像处理中的应用(2)
- 文件分割器,一个读取流,相应多个输出流,并且生成的碎片文件都有有序的编号...
- 必看 | VLAN划分和网络配置实例
- zookeeper启动失败排查
- Spring+Quartz实现定时任务
- .Net Core with 微服务 - Seq 日志聚合
- android关机分区卸载,Android关机重启流程(二)
- 序列化与反序列化注意事项 java
- Spring框架 AOP面向切面编程(转)
- 探索ring0之内核概述
- read()/write()的生命旅程之二——第二章:read()
- 千年新论:马谡的错误在于盲目创新,正确做法是死板教条
- [APUE]进程关系(上)
- HFSS19 官方中文教程系列 L05
- Linux 内核和 Windows 内核有什么区别?
- 小米10获取root权限_安卓刷机搞机小能手必备的三款root神器 最后一款你肯定用过...
- 基于微信小程序的资产管理平台的设计与实现
- 【HTML】HTML自定义网页头部小图标