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

相关推荐
csdn_aspnet7 分钟前
用 MySQL 玩转数据可视化:从底层数据到 BI 工具的桥接
数据库·mysql·信息可视化·bi
wb0430720112 分钟前
一次jvm配置问题导致的数据库连接异常
服务器·jvm·数据库·后端
酷酷的崽79812 分钟前
搭载cpolar,让PostgreSQL数据库远程访问超丝滑
数据库·postgresql
API开发20 分钟前
apiSQL 迁移至已有 PostgreSQL 数据库指南
数据库·postgresql·api开发·postgrest·接口开发工具·api管理软件
学掌门23 分钟前
从数据库到可视化性能,5个大数据分析工具测评,python只排倒数
数据库·python·数据分析
编程小风筝23 分钟前
Django REST framework实现安全鉴权机制
数据库·安全·django
secondyoung24 分钟前
队列原理与实现全解析
c语言·数据库·mysql·算法·队列
05大叔30 分钟前
微服务Day01 MP
数据库·oracle
Jan123.33 分钟前
深入理解数据库事务与锁机制:InnoDB实战指南
数据库·学习
wWYy.33 分钟前
详解redis(6):数据结构string、list
数据库·redis·缓存