zookeeper是乙個開源的分布式的,為分布式應用提供協調服務的apache專案。hadoop
和hbase的重要元件。它是乙個為分布式應用
提供一致性服務
的軟體,提供的功能包括:
配置維護、網域名稱服務、分布式同步、組服務
等。1)zookeeper:乙個領導者(leader),多個跟隨者(follower)組成的集群。
2)leader負責進行投票的發起和決議,更新系統狀態。
3)follower用於接收客戶請求並向客戶端返回結果,在選舉leader過程中參與投票。
4)集群中奇數臺伺服器只要有半數以上節點存活,
zookeeper
集群就能正常服務。
5)全域性資料一致:每個server儲存乙份相同的資料副本,client無論連線到哪個server,資料都是一致的。
6)更新請求順序進行,來自同乙個client的更新請求按其傳送順序依次執行。
7)資料更新原子性,一次資料更新要麼成功,要麼失敗。
8)實時性,在一定時間範圍內,client能讀到最新資料。
zookeeper資料模型的結構與unix檔案系統很類似,整體上可以看作是一棵樹,每個節點稱做乙個znode。每乙個znode預設能夠儲存1mb的元資料,每個znode都可以通過其路徑唯一標識。
資料結構圖
提供的服務包括:統一命名服務、統一配置管理、統一集群管理、伺服器節點動態上下線、軟負載均衡等。
1、分布式環境下,配置檔案管理和同步是乙個常見問題
乙個集群中,所有節點的配置資訊是一致的,比如hadoop集群
對配置檔案修改後,希望能夠快速同步到各個節點上
2、配置管理可交由zk實現
(1)可配置資訊寫入zk上的乙個znode
(2)各個節點監聽這個znode
(3)一旦znode中的資料被修改,zk將通知各個節點
集群管理結構圖如下所示。
分布式環境中,實時掌握每個節點的狀態是必要的。
可根據節點實時做出一些調整
可交由zk實現
可將節點資訊寫入zk上的乙個znode
監聽這個znode可獲取它的實時狀態變化
典型應用
hbase中master狀態監控與選舉
揭開信貸神秘面紗
貸款信用保險是指保險人對銀行或其他金融機構與企業之間的借貸合同進行擔保,以承保借款人信譽風險的保險。在貸款信用保險中,貸款方 即債權人 是投保人。但保單簽發後,貸款方即成為被保險人。當企業無法歸還貸款時,債權人可以從保險那裡獲得補償。貸款人在獲得保險人的補償後,必須將債權轉讓給保險人,由保險人向借款...
揭開MVC的神秘面紗
最近參加的高校平台專案中涉及到了 mvc。mvc,有人說是一種設計模式,也有人說是使用者介面層設計架構。那麼 mvc到底是什麼呢?今天我們一起來學習一下。mvc,即model view controller,把乙個應用的輸入 處理 輸出流程按照 model view controller 的方式進行...
揭開 const 的神秘面紗
const 變數 int main int a 10 可讀可寫 int b b a a的讀取許可權 b a 20 a的寫許可權 左值 放在賦值符號的左邊 1.const 定義常變數,將變數變成唯讀型的 int ca 10 可讀可寫 const int ca 10 加上const後,變成了唯讀型 ca...