1)如何將kafka註冊到zookeeper上,而後能夠查詢到kafka的節點信息html
lsjava
ls會顯示該節點下的子節點信息apache
好比:socket
ls /ide
顯示zookeeper根目錄下的子節點,其中kafka的broker在zookeeper根目錄註冊了brokers節點server
kafka對外提供的meta info中的節點地址信息是直接讀取zookeeper的註冊信息,該註冊信息是在集羣啓動時寫入的,信息的最終來源爲server.properties。依據Kafka官方文檔http://kafka.apache.org/0101/documentation.html#brokerconfigs的描述,配置的優先級以下:htm
1.首先讀取advertised.listeners的值ip
2.若1中值爲空,使用advertised.host.name & advertised.port註冊到zookeeper文檔
[2020-05-18 16:33:58,912] WARN Session 0x0 for server ls:2181, unexpected error, closing socket connection and attempting reconnect (org.apache.zookeeper.ClientCnxn)
java.nio.channels.UnresolvedAddressException
at sun.nio.ch.Net.checkAddress(Net.java:101)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:622)
at org.apache.zookeeper.ClientCnxnSocketNIO.registerAndConnect(ClientCnxnSocketNIO.java:277)
at org.apache.zookeeper.ClientCnxnSocketNIO.connect(ClientCnxnSocketNIO.java:287)
at org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:1021)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1064)kafka