您好,登錄后才能下訂單哦!
Zookeeper的作用是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一、什么是Zookeeper
ZooKeeper 顧名思義 動物園管理員,他是拿來管大象(Hadoop) 、 蜜蜂(Hive) 、 小豬(Pig) 的管理員, Apache Hbase和 Apache Solr 以及LinkedIn sensei 等項目中都采用到了 Zookeeper。ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,ZooKeeper是以Fast Paxos算法為基礎,實現同步服務,配置維護和命名服務等分布式應用。
上面的解釋感覺還不夠,太官方了。Zookeeper 從程序員的角度來講可以理解為Hadoop的整體監控系統。如果namenode,HMaster宕機后,這時候Zookeeper 的重新選出leader。這是它最大的作用所在。下面詳細介紹zookeeper的作用
二、zookeeper的作用
1.Zookeeper加強集群穩定性
Zookeeper通過一種和文件系統很像的層級命名空間來讓分布式進程互相協同工作。這些命名空間由一系列數據寄存器組成,我們也叫這些數據寄存器為znodes。這些znodes就有點像是文件系統中的文件和文件夾。和文件系統不一樣的是,文件系統的文件是存儲在存儲區上的,而zookeeper的數據是存儲在內存上的。同時,這就意味著zookeeper有著高吞吐和低延遲。
Zookeeper實現了高性能,高可靠性,和有序的訪問。高性能保證了zookeeper能應用在大型的分布式系統上。高可靠性保證它不會由于單一節點的故障而造成任何問題。有序的訪問能保證客戶端可以實現較為復雜的同步操作。
2.Zookeeper加強集群持續性
ZooKeeper Service
組成Zookeeper的各個服務器必須要能相互通信。他們在內存中保存了服務器狀態,也保存了操作的日志,并且持久化快照。只要大多數的服務器是可用的,那么Zookeeper就是可用的。
客戶端連接到一個Zookeeper服務器,并且維持TCP連接。并且發送請求,獲取回復,獲取事件,并且發送連接信號。如果這個TCP連接斷掉了,那么客戶端可以連接另外一個服務器。
Zookeeper保證集群有序性
Zookeeper使用數字來對每一個更新進行標記。這樣能保證Zookeeper交互的有序。后續的操作可以根據這個順序實現諸如同步操作這樣更高更抽象的服務。
Zookeeper保證集群高效
Zookeeper的高效更表現在以讀為主的系統上。Zookeeper可以在千臺服務器組成的讀寫比例大約為10:1的分布系統上表現優異。
數據結構和分等級的命名空間
Zookeeper的命名空間的結構和文件系統很像。一個名字和文件一樣使用/的路徑表現,zookeeper的每個節點都是被路徑唯一標識
三、zookeeper在Hadoop及hbase中具體作用
Hadoop有NameNode,HBase有HMaster,為什么還需要zookeeper,下面給大家通過例子給大家介紹。
一個Zookeeper的集群中,3個Zookeeper節點.一個leader,兩個follower的情況下,停掉leader,然后兩個follower選舉出一個leader.獲取的數據不變.我想Zookeeper能夠幫助Hadoop做到:
Hadoop,使用Zookeeper的事件處理確保整個集群只有一個NameNode,存儲配置信息等.
HBase,使用Zookeeper的事件處理確保整個集群只有一個HMaster,察覺HRegionServer聯機和宕機,存儲訪問控制列表等.
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。