Zookeeper解決Hadoop單點問題
Yarn主要由四部分組成
ResourceManage(RM) NodeManage(NM) ApplicationMaster(AM) Container
Yarn單點故障
YARN的單點故障指的是ResourceManager單點問題,ResourceManager負責整個系統的資源管理和排程,內部維護了各個應用程式的ApplictionMaster資訊,NodeManager資訊,資源使用資訊等。考慮到這些資訊絕大多數可以動態重構,因此解決YARN單點故障要比HDFS單點容易很多。與HDFS類似,YARN的單點故障仍採用主備切換的方式完成,不同的是,備節點不會同步主節點的資訊,而是在切換之後,才從共享儲存系統讀取所需資訊。之所以這樣,是因為YARN ResourceManager內部儲存的資訊非常少,大部分可以重構,且這些資訊是動態變化的,很快會變舊。
ResourceManager的工作狀況直接決定了整個YARN框架是否正常運轉。
ResourceManager HA
Yarn在執行期間,會有多個ResourceManager,但只有一個ResourceManager處於active狀態,另外一些則處在standby狀態,當Active節點無法正常工作,比如機器掛掉或重啟,其餘standby狀態的節點會通過競爭選舉產生新的master節點。
在Hadoop HA中,主要由以下幾個元件構成:
(1)MasterHADaemon:與Master服務執行在同一個程式中,可接收外部RPC命令,以控制Master服務的啟動和停止;
(2)SharedStorage:共享儲存系統,active master將資訊寫入共享儲存系統,而standby master則讀取該資訊以保持與active master的同步,從而減少切換時間。常用的共享儲存系統有zookeeper(被YARN HA採用)、NFS(被HDFS HA採用)、HDFS(被MapReduce HA採用)和類bookeeper系統(被HDFS HA採用)。
(3)ZKFailoverController:基於Zookeeper實現的切換控制器,主要由兩個核心元件構成:ActiveStandbyElector和HealthMonitor,其中,ActiveStandbyElector負責與zookeeper叢集互動,通過嘗試獲取全域性鎖,以判斷所管理的master進入active還是standby狀態;HealthMonitor負責監控各個活動master的狀態,以根據它們狀態進行狀態切換。。
(4)Zookeeper叢集:核心功能通過維護一把全域性鎖控制整個叢集有且僅有一個active master。當然,如果ShardStorge採用了zookeeper,則還會記錄一些其他狀態和執行時資訊。
腦裂
腦裂是指在主備切換時,由於切換不徹底或其他原因,導致客戶端和Slave誤以為出現兩個active master,最終使得整個叢集處於混亂狀態。解決腦裂問題,通常採用隔離(Fencing)機制,包括三個方面:
共享儲存fencing:確保只有一個Master往共享儲存中寫資料。
客戶端fencing:確保只有一個Master可以響應客戶端的請求。
Slave fencing:確保只有一個Master可以向Slave下發命令。
ResourceManage(RM) NodeManage(NM) ApplicationMaster(AM) Container
Yarn單點故障
YARN的單點故障指的是ResourceManager單點問題,ResourceManager負責整個系統的資源管理和排程,內部維護了各個應用程式的ApplictionMaster資訊,NodeManager資訊,資源使用資訊等。考慮到這些資訊絕大多數可以動態重構,因此解決YARN單點故障要比HDFS單點容易很多。與HDFS類似,YARN的單點故障仍採用主備切換的方式完成,不同的是,備節點不會同步主節點的資訊,而是在切換之後,才從共享儲存系統讀取所需資訊。之所以這樣,是因為YARN ResourceManager內部儲存的資訊非常少,大部分可以重構,且這些資訊是動態變化的,很快會變舊。
ResourceManager的工作狀況直接決定了整個YARN框架是否正常運轉。
ResourceManager HA
Yarn在執行期間,會有多個ResourceManager,但只有一個ResourceManager處於active狀態,另外一些則處在standby狀態,當Active節點無法正常工作,比如機器掛掉或重啟,其餘standby狀態的節點會通過競爭選舉產生新的master節點。
在Hadoop HA中,主要由以下幾個元件構成:
(1)MasterHADaemon:與Master服務執行在同一個程式中,可接收外部RPC命令,以控制Master服務的啟動和停止;
(2)SharedStorage:共享儲存系統,active master將資訊寫入共享儲存系統,而standby master則讀取該資訊以保持與active master的同步,從而減少切換時間。常用的共享儲存系統有zookeeper(被YARN HA採用)、NFS(被HDFS HA採用)、HDFS(被MapReduce HA採用)和類bookeeper系統(被HDFS HA採用)。
(3)ZKFailoverController:基於Zookeeper實現的切換控制器,主要由兩個核心元件構成:ActiveStandbyElector和HealthMonitor,其中,ActiveStandbyElector負責與zookeeper叢集互動,通過嘗試獲取全域性鎖,以判斷所管理的master進入active還是standby狀態;HealthMonitor負責監控各個活動master的狀態,以根據它們狀態進行狀態切換。。
(4)Zookeeper叢集:核心功能通過維護一把全域性鎖控制整個叢集有且僅有一個active master。當然,如果ShardStorge採用了zookeeper,則還會記錄一些其他狀態和執行時資訊。
腦裂
腦裂是指在主備切換時,由於切換不徹底或其他原因,導致客戶端和Slave誤以為出現兩個active master,最終使得整個叢集處於混亂狀態。解決腦裂問題,通常採用隔離(Fencing)機制,包括三個方面:
共享儲存fencing:確保只有一個Master往共享儲存中寫資料。
客戶端fencing:確保只有一個Master可以響應客戶端的請求。
Slave fencing:確保只有一個Master可以向Slave下發命令。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30316686/viewspace-2114787/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Hadoop org.apache.hadoop.util.DiskChecker$DiskErrorException問題等價解決linux磁碟不足解決問題排查HadoopApacheErrorExceptionLinux
- Hadoop中Namenode單點故障的解決方案Hadoop
- Hadoop問題解決:Unable to load native-hadoop library for your platform...HadoopPlatform
- zookeeper叢集奇偶數節點問題
- hadoop訪問不到8088解決方案Hadoop
- 解決 / 最佳化問題的切入點
- 【OracleEBS】 訂單暫掛問題sql解決OracleSQL
- 解決UILable標點符號居中的問題UI符號
- 簡單瞭解下JMM解決什麼問題
- 虛擬機器執行Hadoop | 各種問題解決的心路歷程虛擬機Hadoop
- ZooKeeper 監視點詳解
- [Zookeeper-01]什麼是zookeeper?& Linux / Windows Zookeeper安裝和部署(單點)LinuxWindows
- [解決問題] Vagrant nginx 站點配置問題(ThinkPHP HTML 無法調跳轉)NginxPHPHTML
- Tarjan縮點題單 刷題題解
- 安裝 Hadoop:設定單節點 Hadoop 叢集Hadoop
- 【linux】修改ip後hadoop只有四個節點的問題LinuxHadoop
- 提問題比解決問題更重要
- JavaScript解決浮點數算數運算精度問題JavaScript
- TiDB 4.0 為解決熱點問題做了哪些改進?TiDB
- 6個問題解決產品銷量的痛點
- 國產化浪潮下TiDB解決的痛點問題TiDB
- elmentui表單重置初始值問題與解決方法UI
- PHP+Redis解決實際問題一:訂單限流PHPRedis
- ZooKeeper 05 - ZooKeeper 叢集的腦裂問題(Split Brain)AI
- 解決跨域問題跨域
- SERVICE問題解決方法
- 解決 Unexpectedlexicaldeclarationincaseblock的問題BloC
- 解決mapper重名問題APP
- qeephp 解決跨越問題PHP
- 解決高度塌陷問題
- 以太坊社群意外解決了網際網路的一個重大問題:單點登入
- 4.7 Hadoop+zookeeper實現HAHadoop
- Cabloy-CMS:動靜結合,解決Hexo痛點問題Hexo
- MySQL點陣圖索引解決使用者畫像問題MySql索引
- layer彈框刪除ztree節點非阻塞問題解決
- uniapp,小程式防止二次點選問題,解決方案APP
- 一個簡單的統計問題(解決方案:Trie樹)
- APISIX單元測試準備工作與問題解決方案API
- 簡單介紹Nginx tp3.2.3 404問題解決方案Nginx