zookeeper核心原理
生活随笔
收集整理的這篇文章主要介紹了
zookeeper核心原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
zookeeper名字由來
其名字漢譯為動物管理員,因為Hadoop,Hbase,Hive等大數據技術的圖標都是動物,而zookeeper作為Hadoop,Hbase集群的協調者來講,像是一個動物園的管理員。
zookeeper選舉機制
zookeeper啟動后,分為兩階段①數據恢復階段②選舉階段。
在第①階段中會讀取事物id,在第②階段中根據選舉協議來確定leader。
選舉協議中有三個重要的概念:
a.事物id
b.選舉id(配置文件中的myid)
c.過半性原則(得到的選票超過半數,除去observe機子,因為observer不參與投票,只監聽投票結果)
選舉時,先比較事物id,如果事物id大,且滿足過半性,則為leader。如果事物id都一樣,則比較選舉id,選舉id大,且滿足過半性則其為leader。因此,假設有3臺機子,都不為obsever機子,事物id都一樣,選舉id依次為1,2,3,依次啟動這三臺機子,那么整個集群的leader為機子2。如果啟動順序為1,3,2,那么leader為3機子。
zookeeper的zab協議
zab協議:為了保證zookeeper集群數據一致性的原子廣播協議,其實對2pc協議的優化,2pc協議中如果有一個分支事物失敗,則整個事物回滾,這個模式比較低效,而zab協議的優化是:成功的分支事物操作滿足過半性后,整個事物就會成功,不用所有分支事物都成功。
observer
不參與投票和寫請求,可以提供讀請求。
?
總結
以上是生活随笔為你收集整理的zookeeper核心原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图文详解:如何给女朋友解释什么是微服务?
- 下一篇: 解决office的PPT和WPS的PPT