kafka数据迁移

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka数据迁移相关的知识,希望对你有一定的参考价值。

         kafka数据迁移操作流程:

   此次数据迁移主要是针对Isr自动同步异常,而进行手动干预的操作。

具体的故障截图如下:

技术分享

一、确认同步异常的topic和Isr数目

./kafka-topics.sh --under-replicated-partitions --describe --zookeeper IP:2181


二、创建文件/tmp/topics-to-move.json

vim /tmp/topics-to-move.json

复制这些topic,并写成如下格式的文件, 命名为 topics-to-move.json

{"topics": [ 

 {"topic": "test"}   //test是对应的topic名字

 ],

 "version":1

}


三、执行:

./kafka-reassign-partitions.sh --zookeeper localhost:2181 --topics-to-move-json-file /tmp/topics-to-move.json --broker-list "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26" --generate

执行结果会生成一串新的topics-to-move.json数据,修改所需转换的Isr对应关系(例如(14,0)转换为(14,1));

创建新配置文件 touch /tmp/reassignment-node.json

将修改后的topics-to-move.json文件写入reassignment-node.json

./kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file /tmp/reassignment-node.json --execute   //开始迁移

./kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file /tmp/reassignment-node.json --verify    //确认迁移同步情况,待所有进程都successful,迁移完成。


涉及到的监控脚本:

while true ;do /usr/hdp/2.2.0.0-2041/kafka/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file /tmp/reassignment-node.json --verify|awk ‘/Reassignment/ && $5!~/completed/&& $6 !~ /successfully/‘|wc -l;sleep 10;done


/usr/hdp/2.2.0.0-2041/kafka/bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic CDR_AUDIT|awk -F‘,|[ ]*|\t‘ ‘{if(($9==14)||($10==14))print $0}‘



本文出自 “韩磊” 博客,请务必保留此出处http://deararvin.blog.51cto.com/11158301/1739463

以上是关于kafka数据迁移的主要内容,如果未能解决你的问题,请参考以下文章

kafka集群扩容后的数据迁移

kafka partiton迁移方法与原理

kafka集群扩容以及数据迁移

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

【kafka】kafka数据迁移、分区副本重分配

将Kafka Streams代码迁移到Spring Cloud Stream吗?