hadoop之 Zookeeper 分散式應用程式協調服務
(1) Zookeeper 在 Hadoop 叢集中的作用
Zookeeper 是分散式管理協作框架,Zookeeper 叢集用來保證 Hadoop 叢集的高可用,(高可用的含義是:叢集中就算有一部分伺服器當機,也能保證正常地對外提供服務。)
(2) Zookeeper 保證高可用的原理
Zookeeper 叢集能夠保證 NameNode 服務高可用的原理是:Hadoop 叢集中有兩個 NameNode 服務,兩個NameNode 都定時地給 Zookeeper 傳送心跳,告訴 Zookeeper 我還活著,可以提供服務,單某一個時間只有一個是 Action 狀態,另外一個是 Standby 狀態,一旦 Zookeeper 檢測不到 Action NameNode 傳送來的心跳後,就切換到 Standby 狀態的 NameNode 上,將它設定為 Action 狀態,所以叢集中總有一個可
用的 NameNode,達到了 NameNode 的高可用目的。
(3) Zookeeper 的選舉機制
Zookeeper 叢集也能保證自身的高可用,保證自身高可用的原理是,Zookeeper 叢集中的各個機器分為Leader 和 Follower 兩個角色,寫入資料時,要先寫入 Leader,Leader 同意寫入後,再通知 Follower寫入。客戶端讀取數時,因為資料都是一樣的,可以從任意一臺機器上讀取資料。這裡 Leader 角色就存在單點故障的隱患,高可用就是解決單點故障隱患的。Zookeeper 從機制上解決了Leader 的單點故障問題,Leader 是哪一臺機器是不固定的,Leader 是選舉出來的。選舉流程是,叢集中任何一臺機器發現叢集中沒有 Leader 時,
就推薦自己為 Leader,其他機器來同意,當超過一半數的機器同意它為 Leader 時,選舉結束,所以 Zookeeper 叢集中的機器資料必須是奇數。這樣就算當Leader 機器當機後,會很快選舉出新的 Leader,保證了 Zookeeper 叢集本身的高可用。
(4) 寫入高可用
叢集中的寫入操作都是先通知 Leader,Leader 再通知 Follower 寫入,實際上當超過一半的機器寫入成功後,就認為寫入成功了,所以就算有些機器當機,寫入也是成功的。
(5) 讀取高可用
zookeeperk 客戶端讀取資料時,可以讀取叢集中的任何一個機器。所以部分機器的當機並不影響讀取。zookeeper 伺服器必須是奇數臺,因為 zookeeper 有選舉制度,角色有:領導者、跟隨者、觀察者,選舉的目的是保證叢集中資料的一致性。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2143460/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分散式協調服務ZooKeeper的典型應用分散式
- 分散式協調服務之Zookeeper叢集部署分散式
- 分散式協調服務zookeeper總結分散式
- 分散式服務協調員zookeeper - 應用場景和監控分散式
- 分散式協調服務☞zookeeper叢集搭建分散式
- 搞懂分散式技術3:初探分散式協調服務zookeeper分散式
- 分散式系統理論基礎8:zookeeper分散式協調服務分散式
- 分散式協調元件Zookeeper之 選舉機制與ZAB協議分散式元件協議
- 分散式應用服務的拆分分散式
- 【分散式】Zookeeper應用場景分散式
- Zookeeper詳細使用解析!分散式架構中的協調服務框架最佳選型實踐分散式架構框架
- Dubbo+zookeeper實現分散式服務框架分散式框架
- 分散式服務框架 Zookeeper -- 管理分散式環境中的資料分散式框架
- JEESZ架構、分散式服務:Dubbo+Zookeeper+Proxy+Restful架構分散式REST
- [分散式]--Dubbo分散式服務框架-服務治理分散式框架
- DBPack 賦能 python 微服務協調分散式事務Python微服務分散式
- ZooKeeper分散式專題(二) -- zookeeper應用場景及資料模型分散式模型
- 分散式鎖之Zookeeper實現分散式
- 【zookeeper】zookeeper分散式鎖分散式
- ZooKeeper分散式任務排程中心分散式
- dotnet core 也能協調分散式事務啦!分散式
- 分散式系統協調和協定分散式
- 分散式-zookeeper分散式
- WCF 服務應用程式與 服務庫之間的區別
- 如何管理基於微服務的分散式應用程式微服務分散式
- SpringCloud系列之整合分散式事務Seata應用篇SpringGCCloud分散式
- 分散式服務治理框架Dubbo的前世今生及應用實戰分散式框架
- Docker 釋出新的跨容器的分散式應用編排服務Docker分散式
- ABP之應用服務(1)
- zookeeper分散式鎖分散式
- 4.5 zookeeper分散式分散式
- ZooKeeper 分散式鎖分散式
- 好程式設計師大資料培訓之ZooKeeper應用-解決分散式系統單點故障程式設計師大資料分散式
- 說說Spark應用程式的效能調優(分散式計算引擎)Spark分散式
- hadoop 之distcp(分散式拷貝)HadoopTCP分散式
- 十九、Redis分散式鎖、Zookeeper分散式鎖Redis分散式
- Zookeeper-分散式鎖分散式
- Zookeeper(5)---分散式鎖分散式