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数据迁移的主要内容,如果未能解决你的问题,请参考以下文章