kafka未連接外網:無法生產數據server.properties的注意事項

首先注意下kafka的版本:這是我接觸過的兩個版本

kafka2.11-0.11.0.0:新版配置拋棄了host.name 和 post選項,需在server.properties下配置

advertised.listeners=PLAINTEXT://brokerIP:9092

kafka_2.11-0.8.2.1: 需在server.properties下配置

host.name=IP號
post=9092
接下來說下我所理解的通過其他主機做生產者遇到的一些問題及理解

問題:在本機可以生產到數據,給其他人IP、端口和topic卻無法生產數據到broker集羣
測試後發現:其他主機沒有配置hosts,導致Zookeeper無法解析其監聽broker的IP和端口,這裏的IP是指在集羣上用的hosts別名。

host.name和port的值是註冊到Zookeeper的,我寫的是hosts配置的值,如slave別名。
如果advertised.host.name沒有設,會用host.name的值註冊到zookeeper,如果host.name也沒有設,則會使用JVM拿到的本機hostname註冊到zk。
如果advertised.host.name沒有設,host.name不能設爲0.0.0.0,否則client通過zookeeper獲取的broker地址就是0.0.0.0
如果host.name和advertised.host.name都不設,client通過zk拿到的就是JVM返回的本機hostname,如果這個hostname是client無法訪問到的,client就會連不上broker。
可用zkCli中執行get /brokers/查看信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章