簡介
ZooKeeper分佈式服務框架是Apache Hadoop的子項目,主要解決分佈式應用中遇到的數據管理問題,好比統一命名服務、狀態同步服務、集羣管理、分佈式應用配置項的管理。ZooKeeper主要的應用場景:配置文件的管理、集羣管理、同步鎖、leader選舉、隊列管理等。框架
認知
一、ZooKeeper做爲一個分佈式的服務框架,主要用來解決分佈式集羣中應用系統的一致性問題,它能提供基於相似於文件系統的目錄節點樹方式的數據存儲,可是ZooKeeper並並非用來專門存儲數據的,它的做用主要是用來維護和監控存儲的數據的狀態變化。經過監控這些數據狀態的變化,從而能夠達到基於數據的集羣管理。
二、ZooKeeper在Hadoop平臺典型應用:1)Storm應用開發,Storm集羣監控;2)MapReduce應用開發;3)HBase應用開發。(Storm集羣:ZooKeeper做爲nimbus/master和supervisor/slave的中間樞紐,保存Storm集羣和做業的全部信息,並負責nimbus和supervisor的所有通訊以及Fast fail。HBase集羣:ZooKeeper做爲「協調器」,爲HBase提供了穩定服務和fail over機制。HRegionServer也會把本身以Ephemeral方式註冊到ZooKeeper中,使得HMaster能夠隨時感知到各個HRegionServer的健康狀態,另外ZooKeeper也避免了HMaster的單點問題。)分佈式