kafka集群扩容后的topic分区迁移

kafka集群扩容后的topic分区迁移

kafka集群扩容后,新的broker上面不会数据进入这些节点,也就是说,这些节点是空闲的;它只有在创建新的topic时才会参与工作。除非将已有的partition迁移到新的服务器上面;
所以需要将一些topic的分区迁移到新的broker上。

kafka-reassign-partitions.sh是kafka提供的用来重新分配partition和replica到broker上的工具
简单实现重新分配需要三步:

  • 生成分配计划(generate)
  • 执行分配(execute)
  • 检查分配的状态(verify)

1、安装java环境

tar -xzvf jdk1.8.0_77.tar.gz /data1/bins/

2、添加环境变量

export JAVA_HOME=/data1/bins/jdk1.8.0_77
export JRE_HOME=/data1/bins/jdk1.8.0_77/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

3、部署新节点broken

下载并解压gz包:tar -xzvf kafka_2.11-0.10.1.0.tar.gz -C /data1/bins/

4、修改配置文件:

/data1/bins/kafka_2.11-0.10.1.0/config/server.properties

调整:

  • broker.id=67
  • port=XX
  • host.name=ip
  • log.dirs=/data1/kafka/data(需要手动创建相关目录)

5、修改/etc/hosts 映射ip与hostname

6、启动服务

nohup /data1/bins/kafka_2.11-0.10.1.0/bin/kafka-server-start.sh /data1/bins/kafka_2.11-0.8.2.2/config/server.properties &

7、查看当前topic 分区状态:

/data1/bins/kafka_2.11-0.10.1.0/bin/kafka-topics.sh --describe --zookeeper x.x.x.x:2181 --topic story_test_swq_test

163309_5FdT_1464648.png

8、准备迁移topic(编辑分配json文件)

[root@ movedata]# cat topics-to-move.json 
{"topics": [
{"topic": "story_test_swq_test"}
],
"version":1
}

9、生成分配计划

/data1/bins/kafka_2.11-0.10.1.0/bin/kafka-reassign-partitions.sh  --zookeeper x.x.x.x:2181 --topics-to-move-json-file /data1/movedata/topics-to-move.json --broker-list "252,67,240,756" --generate

164052_uFUX_1464648.png

10、将建议分区计划写入文件

164223_Njsj_1464648.png

11、执行计划

/data1/bins/kafka_2.11-0.10.1.0/bin/kafka-reassign-partitions.sh  --zookeeper x.x.x.x:2181 --reassignment-json-file /data1/movedata/reassignment-node.json  --execute

12、查看执行状态

/data1/bins/kafka_2.11-0.10.1.0/bin/kafka-reassign-partitions.sh  --zookeeper x.x.x.x:2181 --reassignment-json-file /data1/movedata/reassignment-node.json  --verify

164650_8z8f_1464648.png

如何同时迁移多个topic?

答:编译topics-to-move.json(新增字段即可)

{"topics": [
{"topic": "story-zhangxc"},{"topic":"__consumer_offsets"}
],
"version":1
}

 

部分摘自:

https://www.cnblogs.com/honeybee/p/5691921.html

转载于:https://my.oschina.net/zhangxc73912/blog/1578002

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值