【问题标题】:Confluent Kafka Python Error: Metadata request failedConfluent Kafka Python 错误:元数据请求失败
【发布时间】:2020-10-03 01:43:17
【问题描述】:

出现以下错误。不确定有什么问题。

%5|1591739081.630|REQTMOUT|rdkafka#consumer-1| [thrd:GroupCoordinator]: GroupCoordinator/290: Timed out HeartbeatRequest in flight (after 10622ms, timeout #0)
%4|1591739081.630|REQTMOUT|rdkafka#consumer-1| [thrd:GroupCoordinator]: GroupCoordinator/290: Timed out 1 in-flight, 0 retry-queued, 0 out-queue, 0 partially-sent requests
%4|1591739094.726|METADATA|rdkafka#consumer-1| [thrd:main]: GroupCoordinator/289: Metadata request failed: partition assignor: Local: Broker node update (-336618544ms): Permanent

【问题讨论】:

  • 嗨@Hardik,你能把你的代码粘贴到你的问题中吗?这将使社区更容易为您提供帮助。您也可以按照指南:stackoverflow.com/help/how-to-ask
  • @toshiro92 这足以回答这个问题,考虑到这是 kafka 在您收到此错误时让您看到的唯一内容

标签: python kafka-consumer-api confluent-platform confluent-kafka-python


【解决方案1】:

据我所知,此错误来自经纪人的超时。

它基于消费者的session.timeout.ms,默认值为10000,即如果消费者不能在10秒内完成心跳,他将被踢出。

消费者尝试每heartbeat.interval.ms毫秒发送一次心跳,默认为每3秒一次。

所以假设你对 borkers 有超过 10 秒的连接问题,你可能被踢出群组并且消费者被关闭

来自librdkafka 关于session.timeout.ms 的文档:

客户端组会话和故障检测超时。消费者定期发送心跳 (heartbeat.interval.ms) 以向代理指示其活跃度。如果代理在会话超时内没有收到组成员的心,代理将从组中删除消费者并触发重新平衡。允许的范围使用代理配置属性 group.min.session.timeout.ms 和 group.max.session.timeout.ms 进行配置。另请参阅 max.poll.interval.ms。 类型:整数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 1970-01-01
    • 2016-01-01
    • 2014-02-21
    • 1970-01-01
    相关资源
    最近更新 更多