-1 could not be established. Broker may not be available
原因分析:
kafka配置沒有對外開放host、port
server.properties中有兩個listeners。 listeners:啓動kafka服務監聽的ip和端口,可以監聽內網ip和0.0.0.0(不能爲外網ip),默認爲java.net.InetAddress.getCanonicalHostName()獲取的ip。advertised.listeners:生產者和消費者連接的地址,kafka會把該地址註冊到zookeeper中,所以只能爲除0.0.0.0之外的合法ip或域名。
解決方法:
修改kafka/config/server.properties中
22-23行增加主機名和端口
第34/39行的ip地址,這裏的kafka-host需要在/etc/hosts進行映射,服務端映射到本地或內網ip,客戶端映射到服務端ip
需要修改所有集羣中的主機各個主機的主機名修改成各自的主機並且重新啓動