kafka负载均衡迁移(通过kafka eagle)

在grafana监控中发现kafka的各个节点磁盘不均匀

出现这样的情况是因为kafka默认是以文件数作为平衡的条件的。换句话说,kafka不会管一个副本有多大,只会看磁盘中有多少个副本文件。

解决方式:

1、修改策略,改为按照磁盘大小平衡数据

2、手动迁移数据,将磁盘使用率高的节点数据迁移到磁盘使用率低的节点

本文介绍第二种方式,手动迁移数据。

1 进入磁盘使用率高的机器/kafka-logs,通过du -h找一个数据量大的topic:这里以my_topic为例

2 去kafka eagle中查看该topic的副本分布情况

2.1、登录kafka eagle
2.2、点击左侧Topics中的hub,查找对应的topic
2.3、把 Current Partition Replica Assignment中的数据拷贝到文本编辑器中

3 查看监控 ,去使用率高的机器的对应磁盘中找到my_topic的副本

3.1、进入磁盘使用率高的那台机器,在kafka-logs 中,使用命令:du -h |grep my_topic

可以看到副本的大小,以及对应的分区 例如my_topic_4 10G

3.2、在2.3的分区分布情况文件中,查找4分区对应的情况

通过vim /kafka-logs/meta.properties查看本台机器的kafkaid为:1001

再次查看grafana监控,查看最低磁盘使用率的机器是哪一个,查看他的kafkaid(/kafka-logs/meta.properties中)

3.3、将4号分区的1001修改为1004

4 将使用率多的机器中的副本修改为使用率少的kafkaid之后,把修改后的kafka分区文件放到 Proposed Partition Reassignment Configuartion中

然后点击上方的execute按钮

5 可通过点击Verify按钮后,在下方的Result中看到副本迁移的进度

5.1 、也可通过zookeeper中的元数据查看迁移任务是否已经完成

命令:sh /usr/hdp/current/kafka-broker/bin/kafka-topics.sh --zookeeper hk-hdfs-util:2181 hk-hdfs-master01:2181 hk-hdfs-master02:2181 --topic my_topic --describe

相关推荐
蜡笔小炘19 小时前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
韩立学长19 小时前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
程序员泠零澪回家种桔子19 小时前
分布式事务核心解析与实战方案
分布式
Re.不晚19 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
老邓计算机毕设19 小时前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台
凯子坚持 c19 小时前
CANN 生态中的分布式训练利器:深入 `collective-ops` 项目实现高效多卡协同
分布式
岁岁种桃花儿20 小时前
Kafka从入门到上天系列第一篇:kafka的安装和启动
大数据·中间件·kafka
麦聪聊数据20 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
2301_7903009620 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
m0_7369191020 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python