hadoop+flume+kafkachannel修改commit cannot be completed due to group reblance的历程

hadoop+flume+kafkachannel修改commit cannot be completed due to group reblance的历程_第1张图片

解决办法:增加心跳时间heartbeat.interval.ms

j解决步骤详解:

部署kafkachannel连接flume日志入库之后一直报一个错。前前后后一共改了好多参数

session.timeout.ms  group coordinator监控consumer的超时时间

max.poll.interval.ms  批量处理数据的最大时间

max.poll.records最大提交量

但是都无济于事,知道最后发现一个问题。洗衣可以详细看一下这篇博客。了解一下kafka几个参数的详细意思:

https://www.cnblogs.com/hapjin/archive/2019/06/01/10926882.html

kafka在0.9版本和0.10版本是有很大区别的

0.9版本之前session.timeout.ms 里面包含了处理数据的时间和心跳时间。是一个线程管理的。而且一次心跳如果被hbase拒绝之后就不会再发送心跳。等到超过session.timeout.ms 就会判死consumer。consumer就收不到group coordinator的reblance消息。导致错误信息的报错。但是hbase发生整理的时候如果超过内存会拒绝所有请求。所以hbase卡顿几秒是完全有可能的。所以解决的办法就是增加自己的心跳时间。心跳默认时间是7s增加为多少最好先统计一下自己poll一下的数据处理时间然后适当加点即可。

0.10版本之后将两个分开了。处理数据是一个线程。心跳是一个线程。相互不影响。而且一次心跳拒绝之后会接着发。只有在session.timeout.ms一次都没有收到才会判死。

了解这个问题之后。发现自己用的版本正好是0.9的。所以修改了自己的heartbeat.interval.ms时间。之后问题得到解决。

 

你可能感兴趣的:(flume)