kafka 2.11-2.0.0 broker 内部不同数据盘之间进行分区数据迁移


1.1 背景介绍
最开始的服务器设置磁盘太小了,也没有设置成可扩展的,运行一段时间后数据量太大,需要做数据迁移。
先在测试集群进行测试。

1.2 测试broker内部不同数据盘进行分区数据迁移
1.2.1 建立测试topic
我们搭建的测试集群,Kafka 有三个broker为:broker 0:192.168.1.218, broker 1:192.168.1.120,broker 3:192.168.1.9,,原来数据存放在/opt/source/kafka_2.11-0.10.2.1/kafka-logs下,新的数据存放在/opt/source/kafka_2.11-2.0.0/kafka-logs下

kafka-topics.sh --create --zookeeper 192.168.1.218:2181 --replication-factor 2 --partitions 3 --topic test 

1.2.2 将分区数据在磁盘间进行迁移
将broker 0 (192.168.1.218)这台broker节点的分区数据目录 /opt/source/kafka_2.11-0.10.2.1/kafka-logs 移动到 /opt/source/kafka_2.11-2.0.0/kafka-logs:

mv /opt/source/kafka_2.11-0.10.2.1/kafka-logs /opt/source/kafka_2.11-2.0.0/kafka-logs
做这个操作的同时,利用脚本同时向topic test发送数据
sh data.sh &
生产者:tail -f a.txt |/opt/source/kafka_2.11-2.0.0/bin/kafka-console-producer.sh --broker-list 114.116.44.254:9092  --topic  test

另一终端消费数据
kafka-console-consumer.sh --bootstrap-server 192.168.1.120:9092,192.168.1.9:9092,192.168.1.218:9092 --topic test

做这个操作mv /opt/source/kafka_2.11-0.10.2.1/kafka-logs /opt/source/kafka_2.11-2.0.0/kafka-logs  时出现以下3种现象
1,192.168.1.218这台broker节点上的kafka程序down掉了


2,生产者有出现以下日志

3,消费者出现以下日志:

2,3里的这些日志出现一会儿后生产和消费还是正常进行着,应该是broker 0挂掉后产生的异常日志,因为是3台机器,多副本所以不影响生产与消费者

查看 broker 0 上/opt/source/kafka_2.11-2.0.0/kafka-logs 目录下,分区test-1 的数据:

与 broker 1上 分区test-2分区相对比,大小是不一样的 :

1.2.3 修改配置文件server.properties:log.dirs=/opt/source/kafka_2.11-2.0.0/kafka-logs,然后启动broker 0上的kafka,查看分区数据

与broker 1 上文件大小就是一样的了:

这也验证了集群某台机器down掉后,重启数据就自动恢复了。

1.2.4再次发送200条数据,实时查看broker 0上分区数据,就实时更新了

结论
Kafka broker 内部不同数据盘之间可以自由迁移分区数据目录。本次实验所用版本是kafka_2.11-2.0.0,移动数据数据目录时程度就挂掉了,需要重启kafka,并且重启后数据就生效了。


参考:

https://blog.csdn.net/lsshlsw/article/details/47615747#commentsedit

https://www.cnblogs.com/qcloud1001/p/8330233.html 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值