zookeeper和kafka實踐
1、使用kafka,依賴zookeeper和scala,對應版本從網上找
2、都安裝完成後,進入kafka的安裝路徑下面的bin目錄,開啟
存在這些檔案
常用命令說明:
kafka-console-producer.sh(命令模式下發送訊息)【./kafka-console-producer.sh --broker-list localhost:9092 --topic test】
kafka-console-consumer.sh(命令模式下消費訊息)【./kafka-console-consumer.sh --zookeeper localhost:9092 --topic test --from-beginning】
kafka-server-start.sh(啟動kafka)【./kafka-server-start.sh ../config/server.properties】
kafka-server-stop.sh(關閉kafka)
zookeeper-server-start.sh(啟動zookeeper)【./zookeeper-server-start.sh ../config/zookeeper.properties】
zookeeper-server-stop.sh(關閉zookeeper)
3、接下來進入../config目錄
常用說明:
server.properties(kafka服務配置,其中server1和server2是多個broker的配置檔案)
zookeeper.properties(zookeeper的配置檔案)
進入server.properties
說明:
host.name--->producer和consumer是通過這個主機名(advertised.host.name)來連線broker的,而如果這個值沒有設定,則會使用上面的host.name的值,如果上面的host.name也沒有設定,則會使用java.net.InetAddress.getCanonicalHostName()獲取的值。從Zookeeper中可以看出,預設的時候該broker是localhost,從其他機器訪問當然不可能成功。【解決
zookeeper.connect--->zookeeper地址埠(最好都配成伺服器的真實ip,不要localhost,不然程式裡面不好呼叫)
以上配置完畢,接下來例項測試
1、命令:
①:啟動zookeeper
②:啟動kafka
③:producer傳送訊息
④:consumer消費訊息
2、程式程式碼
定義生產者
topic:對應的主題
message:傳送的訊息
傳送訊息
至此,結束。
個人愚見,有什麼問題可以指出來,大神勿噴