【异常】转载 ERROR KafkaProducer - Batch containing 11 record(s) expired due to timeout while
背景:
Kafka集群在一个192.168.0.x网段的,而我们的生产者在192.168.17.x网段的一台机器上。
故当生产者发送消息给Kafka时,无法将消息发送过去。
错误:
11:21:13,936 ERROR KafkaProducer - Batch containing 11 record(s) expired due to timeout while
requesting metadata from brokers for onlinelogs-1
分析:
1.在kafka网段上做Kafka集群的demo测试是OK的,详情参考:
http://blog.itpub.net/30089851/viewspace-2132049/
2.在生产者机器上 telnet kafka节点,ip 9092 ,也是通的,甚是奇怪。
3.谷歌了几下:
需要配置advertised.host.name 参数,在Kafka各个节点,该参数配置为当前机器的IP即可,重启生效配置。