迁移实践之Kafka

迁移背景

将单节点的Kafka服务迁移至新的环境,并升级为集群模式

迁移思路

通过扩种/缩减集群节点,以及Kafka自带的迁移功能,将旧节点数据迁移至新节点。

迁移步骤

1、在新节点部署Kafka服务,主要配置config目录下server.properties文件以下参数:

broker.id=ID号                                 //集群内代表节点的唯一号码,如原有三个旧节点是0~2,新的三个节点就是3~5
listeners=PLAINTEXT://本机IP:9092              //本机监听地址

2、启动新节点,没有启动顺序,也不需要对旧节点做任何操作,启动命令如下:

bin/kafka-server-start.sh -daemon ../config/server.properties       //启动kafka
bin/kafka-server-stop.sh                                            //停止kafka

3、确认节点加入集群,并确认要移动的topics

bin/kafka-topics.sh  --list --zookeeper zookeeper地址:端口    //列出当前kafka集群的topics,在新节点上执行此命令也变相确认节点是否加入集群

4、在新节点上复制topics,并参考下面的格式写入到后缀名为json的文件,文件名可以随意起,此处名字暂且命名为topics-to-move.json

{"topics": [
 {"topic": "name1"},
 {"topic": "name2"},
 {"topic": "fortest3"}
 ],
 "version":1
}

5、执行如下命令,生成移动脚本

//生成迁移方案
bin/kafka-reassign-partitions.sh --zookeeper 10.16.221.27:2181/kafka-prod --topics-to-move-json-file topics-to-move.json --broker-list "3,4,5" --generate

6、将生成的方案结果复制出来,粘贴到一个新建的json文件中,文件名随意,此处名字暂且命名为topics-move.json

//执行迁移动作
bin/kafka-reassign-partitions.sh --zookeeper 10.16.221.27:2181/kafka-prod --reassignment-json-file topics-move.json  --execute
//查看迁移进度
bin/kafka-reassign-partitions.sh --zookeeper 10.16.221.27:2181/kafka-prod --reassignment-json-file topics-move.json  --verify

7、数据迁移完后,切换生产者和消费者服务kafka连接地址

8、全部连接迁移完后,停掉旧节点服务。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值