kafka 怎么样连接图形化界面_千亿级数据量kafka集群性能调优实战总结

本文分享了一个千亿级Kafka集群在面临消费故障和性能瓶颈时的调优过程。从ISR丢失、消费者组rebalance问题到磁盘和网络空闲度低,通过调整参数和分析jstack,最终发现是Ranger审计日志导致的性能影响。解决方案是关闭Ranger的审计日志写入,只保留授权功能。
摘要由CSDN通过智能技术生成

文章转自 https://blog.csdn.net/qq_37865420/article/details/107103505

1、(千亿级kafka集群性能调优)集群信息

一个kafka集群,40台broker,基于Ambari,hdp管理(ambari_v2.5,hdp_v2.6)

10台broker配置5块3T盘

30台broker配置12块6T盘

每天所有生产端产生2000亿条左右的数据

消费端有SparkStreaming,Flume等业务程序

2、 第一次故障现象

  • 生产环境flume无法消费kafka,sink的文件为空。

  • nifi中往kafka写消息报错

  • ISR缺失严重

3、第一次故障排查

  • 元数据主题__consumer_offsets正常

  • 对应无法消费的业务topic存在部分分区的ISR列表丢失2/3,且随着时间的推移,isr缺失的分区占比在增加

且flume端的消费组一直在rebalance。

尝试调整参数

kafka.consumer.session.timeout.ms=30000ms—增大消费者连接GroupCoordinator会话超时时间

76ee32d86677c7c76dedd753d0900d5c.png

flume sink 文件依旧为空,再次调大此参数依旧没用,flume的consumerGroup依旧显示在rebalancing

4、第一次解决方案

因为之前出现过类似isr缺失的现象,当时增大了此参数

num.replica.fetchers-------leader中进行复制的线程数,增大这个数值会增加relipca的IO

默认是单线程,当时增加到2

但是这次的问题kafka的server.log没有任何ERROR,能看到的只有nifi生产端的无法生产的ERROR日志(连接broker失败),以及flume消费端的大批量INFO日志(consumer group is rebalancing)

抱着试一试的方式将几十台broker中的两台num.replica.fetchers参数修改为4,增大了一倍,然后重启broker

由于数据量比较庞大,且此broker正在重启,kafka server.log报错如下

b80ca7ebabb624ffd168242c7dfdfbc3.png

属于正常状况,耐心等待重启的broker中副本加入到isr中即可

之后发现flume的sink文件大小有所增加,证明开始消费了。

最后滚动重启所有broker,flume恢复消费,nifi后续生产也不报错了。

疑问点

  • flume修改参数,消费组日志信息中为何依旧提示持续rebalancing?

  • kafka的isr缺失为何导致nifi生产端链接broker失败?—也许集群网络的问题也可能有

    kafka的isr同步能力参数见链接解决ISR丢失—— Kafka副本同步lea

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值