下面說明是基於之前基本環境(yarn)已經基本完成搭建後繼續學習
高可用性功能以active / standby resourcemanager對的形式新增冗餘,以消除此單點故障。
zookeepr能夠為我們保證最終只有乙個resourcemanager能夠建立成功。建立成功的那個resourcemanager就切換為active狀態,沒有成功的那些resourcemanager則切換為standby狀態
結構
rm故障轉移
resourcemanager ha通過主動/備用架構實現 - 在任何時間點,只有乙個rm處於活動狀態,並且乙個或多個rm處於備用模式,等待接管活動狀態。在啟用自動故障切換時,支援從管理命令(通過cli)或通過整合故障切換控制器進行觸發。
yarn-ha配置檔案新增
yarn-site.xml 配置檔案新增如下內容,前提是之前的一些引數已經配置好了
1. 新新增ha內容
先在主節點進行修改,然後分發到其他所有yarn節點。
yarn.resourcemanager.ha.enabled
true
yarn.resourcemanager.cluster-id
cluster1
yarn.resourcemanager.ha.rm-ids
rm1,rm2
yarn.resourcemanager.hostname.rm1
node102
yarn.resourcemanager.hostname.rm2
node103
node102:8088
node103:8088
yarn.resourcemanager.recovery.enabled
true
yarn.resourcemanager.store.class
org.apache.hadoop.yarn.server.resourcemanager.recovery.zkrmstatestore
yarn.resourcemanager.ha.automatic-failover.enabled
true
yarn.resourcemanager.ha.automatic-failover.embedded
true
yarn.resourcemanager.zk-address
node102:2181,node103:2181,node104:2181
yarn.resourcemanager.ha.enabled : 啟用 rm ha
yarn.resourcemanager.cluster-id : 標識集群中的rm
yarn.resourcemanager.ha.rm-ids : rm 邏輯ids的名稱
yarn.resourcemanager.hostname.rm1: 對於每個
rm-id
,指定rm
對應的主機名。或者,可以設定
rm的每個服務位址。
rm-id
,指定rm web
應用程式對應的主機:埠
yarn.resourcemanager.recovery.enabled: 啟用rm
重啟的功能。
rm重啟,作業保留機制job不會失敗。設定為
true
則必須配置yarn.resourcemanager.store.class
yarn.resourcemanager.store.class : 有三種
statestore
,分別是基於
zookeeper, hdfs, leveldb, ha
高可用集群必須用
zkrmstatestore
yarn.resourcemanager.ha.automatic-failover.enabled : 自動故障轉移。預設情況下,在啟用 ha 時,啟用自動故障轉移
yarn.resourcemanager.ha.automatic-failover.embedded : 自動故障轉移時是否使用內嵌的
leader
選舉策略選舉
active rm
。預設情況下,它只會在啟用
ha配置的情況下生效。
yarn.resourcemanager.zk-address : zookeeper 節點
把yarn-site.xml傳送覆蓋到其他yarn節點
在主節點node102啟動yarn
./sbin/start-yarn.sh
再從node103啟動resourcemanager服務
./sbin/yarn-daemon.sh start resourcemanager
檢視服務啟動 jps
node102和node103都會有resourcemanager程序和nodemanager程序
可以跑乙個pi程序 100 1000
在測試過程中,認為kill active的resourcemanager,檢視最終執行程序正常完成
VS2010新增配置檔案
也許初學者會疑惑,我們 d層直接使用資料庫連線字串很簡單的就可以實現連線資料庫 為什麼還要用配置檔案來連線資料庫呢 原因就是 在配置檔案中的資訊相當於全域性變數,如果有修改只要改動配置檔案的鍵值就可達到全域性修改的效果,無需編譯 修改起來更為便捷 下面是新增配置檔案連線資料庫的基本步驟 1.首先需要...
Mac系統新增MySQL配置檔案
mac系統新增mysql配置檔案 在mac系統中,安裝完mysql後,是沒有自動生成mysql的配置檔案的,在網上查詢說需要自己手動建立配置檔案,但是說的都不是很詳細,所以配置起來總是失敗。之後自己翻看了官方文件以及相關資料,終於將配置檔案配置成功了!與大家分享一下。首先我們先看一下mysql預設指...
Android新增模組的配置檔案
最近在研究android的觸控螢幕框架,已經理清楚了driver inputhub inputdevice inputmanager input module之間的關係,但是其中,需要引入觸控螢幕的配置引數問題,android需要乙個配置檔案來宣告當前的觸控螢幕型別,所以需要在檔案系統中宣告乙個.i...