kafka的数据迁移

本文介绍了如何使用命令行工具进行Kafka的数据迁移,包括生成迁移计划、执行迁移和验证迁移进度。首先,通过创建topic-to-move.json文件并使用--generate生成迁移计划,然后根据输出的日志调整分区副本分布。接着,在kafka-reassign-execute.json中执行迁移计划,并用--verify检查迁移状态。此外,还提到可以自定义JSON格式的迁移计划以实现更灵活的数据迁移策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用命令生成迁移计划

  1. 新建文件topic-to-move.json 加入内容如下:
       {"topics": [{"topic":"test-topic"}], "version": 1
  1. 使用–generate生成迁移计划
kafka-reassign-partitions --zookeeper cdh-002/kafka \
   --topics-to-move-json-file /opt/lb/topic-to-move.json \
   --broker-list "1,2" --generate

输出日志:(从日志可知各个分区副本所在的Broker节点,以及建议的副本分布)

   Current partition replica assignment  (当前分区副本分布)
   {"version":1,"partitions":[{"topic":"test-topic","partition":0,"replicas":[1,3]},{"topic":"test-topic","partition":2,"replicas":[1,3]},{"topic":"test-topic","partition":1,"replicas":[1,3]}]}

   Proposed partition reassignment configuration  (建议分区副本分布)

   {"version":1,"partitions":[{"topic":"test-topic","partition":0,"replicas":[1,2]},{"topic":"test-topic","partition":2,"replicas":[1,2]},{"topic":"test-topic","partition":1,"replicas":[1,2]}]}
  1. 新建文件kafka-reassign-execute.json,并把建议的分区副本分布配置拷贝到新建文件中。(生产上一般会保留当前分区副本分布,仅更改下线的分区,这样数据移动更少)
  2. 使用–execute执行迁移计划 (如果数据量大,执行的时间会比较久,耐心等待即可)
   kafka-reassign-partitions --zookeeper cdh-002/kafka \
   --reassignment-json-file /opt/lb/kafka-reassign-execute.json \
   --execute
  1. 使用-verify查看迁移进度
 kafka-reassign-partitions --zookeeper cdh-002/kafka \
   --reassignment-json-file /opt/lb/kafka-reassign-execute.json \
   --verify
  1. 通过kafak存储路径查看是否迁移过去

自定义生成迁移计划

  1. 自己写json格式的迁移计划
cat custom-reassignment.json
{"version":1,"partitions":[{"topic":"test-topic","partition":0,"replicas":[5,6]},{"topic":"test-topic2","partition":1,"replicas":[2,3]}]}

2.使用命令执行

bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file custom-reassignment.json --execute
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值