kafka與zookeeper:
乙個典型的kafka集群中包含若干produce,若**roker(一般broker數量越多,集群吞吐率越高),若干consumer group,以及乙個zookeeper集群。kafka通過zookeeper管理集群配置,選舉leader,以及在consumer group發生變化時進行rebalance。producer使用push模式將訊息發布到broker,consumer使用pull模式從broker訂閱並消費訊息。
kafka結構圖
1)producer端直接連線broker.list列表,從列表中返回topicmetadataresponse,該metadata包含topic下每個partition leader,建立socket連線並傳送訊息.
2)broker端使用zookeeper用來註冊broker資訊,以及監控partition leader存活性.
3)consumer端使用zookeeper用來註冊consumer資訊,其中包括consumer消費的partition列表等,同時也用來發現broker列表,並和partition leader建立socket連線,並獲取訊息。
zookeeper作用:管理broker、consumer
建立broker後,向zookeeper註冊新的broker資訊,實現在伺服器正常執行下的水平拓展。具體的,通過註冊watcher,獲取partition的資訊。
topic的註冊,zookeeper會維護topic與broker的關係,通/brokers/topics/topic.name節點來記錄。
producer向zookeeper中註冊watcher,了解topic的partition的訊息,以動態了解運**況,實現負載均衡。zookeepr不管理producer,只是能夠提供當前broker的相關資訊。
consumer可以使用group形式消費kafka中的資料。所有的group將以輪詢的方式消費broker中的資料,具體的按照啟動的順序。zookeeper會給每個consumer group乙個id,即同乙份資料可以被不同的使用者id多次消費。因此這就是單播與多播的實現。以單個消費者還是以組別的方式去消費資料,由使用者自己去定義。zookeeper管理consumer的offset跟蹤當前消費的offset。
kafka集群安裝(獨立zookeeper集群)
1 集群環境 192.168.100.200 192.168.100.201 192.168.100.202 2 按照步驟 root localhost local tar zxvf kafka 2.11 0.10.1.0.tgz root localhost local cd kafka 2.11...
Kafka安裝之一 Zookeeper
kafka安裝之一 zookeeper kafka安裝之二 在centos 7上安裝kafka kafka安裝之三 spring kafka實踐 zookeeper是乙個分布式的,開放原始碼的分布式應用程式協調服務,是google的chubby乙個開源的實現,是hadoop和hbase的重要元件。它...
zookeeper集群部署 kafka集群部署
wget wget 解壓到目錄 tar zxvf apache zookeeper 3.5.8 bin.tar.gz c usr local 進入目錄 cd usr local 建立軟連線 ln s usr local apache zookeeper 3.5.8 zookeeper 複製配置檔案 ...