背景:
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集群的demo测试是OK的,详情参考:
Kafka 0.10.1.0 Cluster的搭建和Topic简单操作实验

2.在生产者机器上 telnet kafka节点ip 9092 ,也是通的,甚是奇怪。

3.谷歌了几下:
需要配置advertised.host.name 参数,将Kafka各个节点,该参数配置为当前机器的IP即可,重启生效配置,测试OK。