上一章說了zookeeper,這一章來說一下使用它作集群管理與儲存一些資料的kafka
kafka使用zookeeper來做集群管理,kafka集群中的每個broker節點會在zookeeper的節點目錄上建立臨時節點(/brokers/ids/n),同時kafka集群中的所有broker會向zookeeper上建立同乙個臨時節點,建立成功的broker節點成為broker controller。controller的功能在下面parition時候說
kafka使用zookeeper做生產者、消費者的負載均衡
zookeeper記錄消費分割槽與消費者的關係,通過建立與修改zookeeper臨時節點實現
zookeeper記錄consumer group在partition上的commit offset
kafka以topic來為資料分類,生產者和消費者在提交和消費資料時都需要指定topic,topic又包含指定數量的partition,每個partition包含replicafactor引數指定的n個replica,其中有乙個是leader,其餘都是follower,即number(replica) = leader + (number - 1) * follower
partition在broker上的分布規律
將broker(size=n)和待分配的partition排序
將第i個partition分配到第(i%n)個broker上
將第i個partition的第j個replica分配到第((i + j) % n)個broker上
乙個broker上只存每個partition的乙個副本
partition的isr
kafka的分布式爬蟲系統
幾乎停頓了1年之久,很久沒寫部落格了,一方面是在院裡做專案太忙,另一方面是自己也在摸索大資料領域的技術,終於自己搭起來了個基於kafka的分布式爬蟲程式,可以抓 的影象了,不多說,先看抓的影象資料。目前儲存在elastic中的影象記錄條數為1.7億條,用了13個節點,具體的影象資料儲存在hbase中...
分布式面試 分布式鎖的常見問題
一般實現分布式鎖都有哪些方式?使用 redis 如何設計分布式鎖?使用 zk 來設計分布式鎖可以嗎?這兩種分布式鎖的實現方式哪種效率比較高?其實一般問問題,都是這麼問的,先問問你 zk,然後其實是要過度到 zk 關聯的一些問題裡去,比如分布式鎖。因為在分布式系統開發中,分布式鎖的使用場景還是很常見的...
部署3個節點的Kafka偽分布式集群
在部署3個節點的zookeeper偽分布式集群這篇文章的基礎上,部署3個節點的kafka偽分布式集群 kafka集群不需要像zookeeper集群似的拷貝多份程式,只需要啟動時指定不同的配置檔案即可,只需要乙份程式 cd opt wget2 解壓並重命名 tar zxvf kafka 2.12 2....