前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kafka Partition 迁移方法总结

Kafka Partition 迁移方法总结

原创
作者头像
owenyuan
修改2018-07-09 11:43:51
2.4K0
修改2018-07-09 11:43:51
举报
文章被收录于专栏:Kafka 运维操作总结

1. 迁移命令

代码语言:txt
复制
 ./kafka-reassign-partitions.sh --zookeeper    10.191.132.147:2181/kafka   --reassignment-json-file comm_partitions-to-move.json --execute

说明:

10.191.132.147:2181 是zookeeper 通信ip和port.

comm_partitions-to-move.json 是个json文件,文件内容指定了topic,需要的迁移分区及目标分区。

格式如下:

代码语言:txt
复制
{
	"version":1,
	"partitions":
	[
		{"topic":"Barad_Comm","partition":0,"replicas":[5,1]},
		{"topic":"Barad_Comm","partition":1,"replicas":[6,2]},
		{"topic":"Barad_Comm","partition":2,"replicas":[3,3]},
		{"topic":"Barad_Comm","partition":3,"replicas":[4,4]},
		{"topic":"Barad_Comm","partition":4,"replicas":[0,5]},
		{"topic":"Barad_Comm","partition":5,"replicas":[1,6]},
		{"topic":"Barad_Comm","partition":6,"replicas":[2,7]},
		{"topic":"Barad_Comm","partition":7,"replicas":[8,8]}
	]
}

2. 验证方法

代码语言:txt
复制
 ./kafka-reassign-partitions.sh --zookeeper    10.191.132.147:2181/kafka   --reassignment-json-file comm_partitions-to-move.json --verify
 ./kafka-topics.sh --zookeeper    10.191.132.147:2181/kafka --describe --topic Barad_Comm

3. 验证结果说明

成功结果

代码语言:txt
复制
Reassignment of partition [Barad_Comm,2] completed successfully

如果出现出现类似如下信息:

代码语言:txt
复制
ERROR: Assigned replicas (3,9,7) don't match the list of replicas for reassignment (3,9) for partition [Barad_Comm,5]
Reassignment of partition [Barad_Comm,7] failed

等一段时间即可,说明正在迁移, 数据量大的话,可能要几个甚至十几个小时

4.迁移注意事项

代码语言:txt
复制
kafka 迁移过程中,会出现磁盘io的突增,对机器负载有所影响,建议一次迁移的topic 分区数量不要太多,分批次迁移较为稳妥。
代码语言:txt
复制
kafka 迁移完成后,需要同时使用verify 命令和 describe验证。确保对涉及迁移的分区,leader 是Replicas的其中一个,并且 Replicas是迁移后的目标节点,同时,Isr也必须是Replicas的子集。

如图所示,正常的kafka分区分布状态。

现网操作过程中,出现原来迁移之前的节点依然出现在Replicas中,这个需要注意,长时间如此,会引发大量错误日志,引发磁盘io高负载,甚至导致其他topic不能正常工作。 遇到这中问题,需要先删除zookeeper 上的迁移任务(如果有的话),并再次执行迁移命令execute。确保迁移后kafka topic 状态是正常的。

【备注】这些命令适用于0.8.1 版本,其他版本未做验证

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 迁移命令
  • 2. 验证方法
  • 3. 验证结果说明
  • 4.迁移注意事项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档