#1.Error UNKNOWN_MEMBER_ID occurred while committing offsets for group ***
昨天遇到kafka的消费端报错如下:

2017-06-21 10:55:32,032 [messageListenerContainer_batteryGroupAlarm-C-1] ERROR org.apache.kafka.clients.consumer.internals.ConsumerCoordinator$OffsetCommitResponseHandler.handle(ConsumerCoordinator.java:544) - Error UNKNOWN_MEMBER_ID occurred while committing offsets for group 0

大概意思就是我这个消费者在提交offset的时候,出现了个异常。
分析原因:

  • 消息过大,消费过程过长,在session time out这段时间内,没有处理完成,导致心跳检测信号没发出来,这时候,consumers的协调器coordinator 就会认为,这个消费者挂掉了,所以,消费者的offset提交失败,这时候,所有的consumers进行reblance过程(partition要在consumer中重新分配),由于之前消费了的消息,进行了partitiion的重新分配,又要重新被消费,可能会进入一个恶性循环。
    策略:

1,更改 session.timeout.ms的值,加大消费时间;
2,调高心跳检测heartbeat.interval.ms的值
3,如果使用了spring-kafka,则可以更改enable.auto.commit=false ,使用spring-kafka的提交策略。
4,最有效的方法,提搞partition的个数,增加消费水平

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐