Kafka 客户端TimeoutException问题之坑

各种TimeoutException问题

会抛出org.apache.kafka.common.errors.TimeoutException:
message可能为各种:

  • Batch Expired
  • Failed to update metadata after 60000 ms.
  • ailed to update metadata after

原因

原因是发布到zookeeper的advertised.host.name如果没有设置,默认取java.net.InetAddress.getCanonicalHostName().值,被用于生产端和消费端。因此外部网络或者未配置hostname映射的机器访问kafka集群时就会有网络问题了。

原因是kafka客户端连接到broker是成功的,但连接到集群后更新回来的集群meta信息是错误的即是会返回的是节点的hostname,解决办法就是手动配置advertised.host.name和advertised.port,2个参数都必须配置,重启问题解决:

advertised.host.name=10.0.0.100
advertised.port=9092
    原文作者:铁汤
    原文地址: https://www.jianshu.com/p/2db7abddb9e6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞