什麼是Zookeeper,爲什麼我們要使用Zookeeper

1.什麼是zookeeper?

(1)Zookeeper是Googel的Chubby的一個開源實現,是Hadoop的分佈式協調服務,它包好了一個簡單的原語,分佈式應用程序可以基於它實現同步服務,配置維護和命名服務等。

(2)Zookeeper本身也允許單機模式,但是一臺服務器很難表達出zookeeper的強大功能,所以真是生產環境下zookeeper一班都是3臺以上的奇數量的存在,證實了zookeeper本身是一個分佈式集羣的存在。

(3)ZooKeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。

(4)ZooKeeper代碼版本中,提供了分佈式獨享鎖、選舉、隊列的接口,代碼在zookeeper-3.4.3\src\recipes。其中分佈鎖和隊列有Java和C兩個版本,選舉只有Java版本

2.Zookeeper工作結構圖


3.爲什麼要使用Zookeeper?

a. 大部分的分佈式應用程序都需要一個主控、協調器或者控制器來物理分佈的子進程(如資源,內存分配等)
b. 目前大部分應用開發私有的協調程序,缺乏一個通用性
c. 協調程序的反覆編寫浪費,難以形成通用、伸縮性好的協調器
d. ZooKeeper:提供通用的分佈式鎖服務,用以協調分佈式應用

4. Zookeeper能幫助我們做什麼?

(1)在Hadoop2.0以後,hadoop藉助Zookeeper實現了保證只有一個活躍的NameNode、ResouceManager的存在,存儲配置信息等。
(2)Hbase使用Zookeeper的事件處理確保集羣中只有一個活躍的HMaster並察覺HRegionServer聯機和宕機,存儲訪問控制列表等。

5. Zookeeper的特性

zookeeper是簡單的、富有表現力、具有高可用的、採用鬆耦合、是一個資源庫。

探究zookeeper,我不得不佩服zookeeper的強大,Zookeeper是一個很厲害的協調服務的服務器,在這裏我向開發zookeeper的前輩們致敬!人生有百態,這個態我覺得是心態
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章