一 什麼是zookeepernode
本身的理解:zookeeper 其實就是個管理員,監控 協調 全部須要同步的設備或進程。算法
官方: Zookeeper 是一個分佈式的,開放源碼的應用協調服務。是以Fast paxos 算法爲基礎,實現同步服務,配置維護和命名服務等分佈式應用。服務器
Zookeeper的穩定性分佈式
Zookeeper經過一種和文件系統很像的層級命名空間讓分佈式進程互相協同工做。這些命名空間有一系列數據寄存器組成,咱們也叫這些數據寄存器爲znodes。這些znodes存儲在內存中。因此zookeeper有着高的吞吐和低延遲。oop
zookeeper實現了高性能、高可靠性、和有序的訪問、高性能保證了其能應用在大型的分佈式文件系統中。高可靠性保證其不會由於單一節點的故障而形成任何問題。有序的訪問能保證客戶端實現較爲複雜的同步操做。性能
zookeeper的有序: 使用數字來對每個更新進行標記。後續的操做能夠根據這個順序實現諸如同步操做這樣更高更抽象的服務。即:每一個服務器都按這個順序進行操做,因此只要初始狀態同樣,那麼結束狀態也就同樣,保證了每一個服務器的一致性。server
zookeeper 高效性表如今以讀爲主的系統集羣上。進程
zookeeper在hadoop和hbase上的做用:內存
在hadoop上 保證整個集羣中只有一個namenode,以及存儲配置信息等。hadoop
在Hbase上:
1 保證集羣中只有一個Hmaster
2 因爲Hregionserver 也在zookeeper中註冊了,因此能夠監控Hregion server的狀態,及時的region server進行處理。
3 存儲了region的尋址入口(即.root表中的信息)
4 存儲了Hbase的schema,包括有哪些table,每一個table有哪些column family。