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}'
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。