重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
kafka数据迁移操作流程:
珙县网站建设公司创新互联,珙县网站设计制作,有大型网站制作公司丰富经验。已为珙县上1000家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的珙县做网站的公司定做!
此次数据迁移主要是针对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}'