多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 服務(wù)器 > Hadoop-2.4.1學(xué)習(xí)之高可用ResourceManager

Hadoop-2.4.1學(xué)習(xí)之高可用ResourceManager

來源:程序員人生   發(fā)布時(shí)間:2014-12-07 10:28:23 閱讀次數(shù):4486次

       在Hadoop⑵.4之前,Yarn中的ResourceManager也是單點(diǎn)故障中的,就像Hadoop⑴.x中的NameNode,由于Hadoop⑵.X已支持NameNode的HA(高可用性),那末自然也要在hadoop的某個(gè)版本中實(shí)現(xiàn)ResourceManager的HA,否則又會(huì)招致1些事后諸葛亮的詬病。本文將介紹RM的高可用性,并詳細(xì)學(xué)習(xí)如何配置和使用該特性。就像NameNode的HA1樣,ResourceManager的HA也是通過冗余的Active/Standby ResourceManagers消除單點(diǎn)故障所存在的問題。

      RM的HA架構(gòu)以下(引自官方圖片),該圖所展現(xiàn)的架構(gòu)與NameNode有很多類似的地方,比如支持自動(dòng)或手動(dòng)的故障轉(zhuǎn)移,使用ZooKeeper保存Active RM的狀態(tài)等。


      ResourceManager的HA是通過Active/Standby架構(gòu)實(shí)現(xiàn)的,在任什么時(shí)候間點(diǎn)只有1個(gè)RM處于active狀態(tài),而剩余的RM(1個(gè)或多個(gè))則處于standby狀態(tài),時(shí)刻準(zhǔn)備著接收active的工作。可以通過在CLI輸入命令或在自動(dòng)故障轉(zhuǎn)移啟動(dòng)的條件下通過集成的故障轉(zhuǎn)移控制器實(shí)現(xiàn)standby到active的轉(zhuǎn)換,也就是手動(dòng)故障轉(zhuǎn)移和自動(dòng)故障轉(zhuǎn)移。

      在沒啟用自動(dòng)故障轉(zhuǎn)移的情況下,管理員必須手動(dòng)地將處于standby狀態(tài)的RMs之1轉(zhuǎn)換為active狀態(tài)。手動(dòng)故障轉(zhuǎn)移必須首先將本來處于active的RM轉(zhuǎn)換為standby狀態(tài),然后再將1個(gè)standby RM轉(zhuǎn)換為active,具體的命令為:yarn rmadmin。在自動(dòng)故障轉(zhuǎn)移方面,RM與NameNode略有不同,RM不需要運(yùn)行單獨(dú)的守護(hù)進(jìn)程ZKFC,這是由于RM有內(nèi)置的基于ZooKeeper的ActiveStandbyElector類用于在active RM宕機(jī)或無響應(yīng)時(shí)自動(dòng)選擇哪一個(gè)standbyRM將做為active RM,由于該類實(shí)現(xiàn)了ZKFC的功能。

      當(dāng)存在多個(gè)RMs時(shí),需要在yarn-site.xml中羅列所有RMs,這是由于客戶端、ApplicationMasters (AMs) 和NodeManagers (NMs)以循環(huán)的方式嘗試連接RM直到連接上active RM。當(dāng)active RM不可用時(shí),再依照循環(huán)的方式嘗試連接RMs,直到遇上新的active RM。默許的嘗試邏輯由org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider實(shí)現(xiàn),可以通過實(shí)現(xiàn)org.apache.hadoop.yarn.client.RMFailoverProxyProvider接口和設(shè)置yarn.client.failover-proxy-provider的值為新類以覆蓋默許邏輯。

      如果也啟用了RM的重啟特性,正在變成active狀態(tài)的RM能夠加載RM的內(nèi)部狀態(tài)和盡量多的繼續(xù)先前active RM遺留的操作。將為每一個(gè)之條件交到RM的利用程序提交新的嘗試,利用程序可以周期性地進(jìn)行檢查點(diǎn)以免丟失任何工作。狀態(tài)存儲(chǔ)必須對Active/Standby RMs都是可見的,正如之前已了解的,目條件供了兩個(gè)狀態(tài)存儲(chǔ):FileSystemRMStateStore和ZKRMStateStore,建議在RM HA集群中使用后者做為狀態(tài)存儲(chǔ)。

      正如Hadoop大部份特性都可以通過配置參數(shù)進(jìn)行設(shè)置1樣,RM的HA也能夠通過下表中的參數(shù)進(jìn)行設(shè)置(更詳細(xì)的信息可以參考yarn-default.xml):

參數(shù)

描寫

yarn.resourcemanager.zk-address

ZooKeeper服務(wù)器的地址(主機(jī):端口號),既用于狀態(tài)存儲(chǔ)也用于內(nèi)嵌的leader-election

yarn.resourcemanager.ha.enabled

是不是啟用RM HA,默許為false(不啟用)。

yarn.resourcemanager.ha.rm-ids

RMs的邏輯id列表,用逗號分隔,如:rm1,rm2

yarn.resourcemanager.hostname.rm-id

每一個(gè)rm-id的主機(jī)名,rm-id的值包括在上面的參數(shù)值中。

yarn.resourcemanager.ha.id

可選項(xiàng),用于標(biāo)識(shí)RM。如果設(shè)置了,管理員需要確保所有的RMs在配置中都有自己的ID

yarn.resourcemanager.ha.automatic-failover.enabled

是不是啟用自動(dòng)故障轉(zhuǎn)移。默許情況下,在啟用HA時(shí),啟用自動(dòng)故障轉(zhuǎn)移。

yarn.resourcemanager.ha.automatic-failover.embedded

啟用內(nèi)置的自動(dòng)故障轉(zhuǎn)移。默許情況下,在啟用HA時(shí),啟用內(nèi)置的自動(dòng)故障轉(zhuǎn)移。

yarn.resourcemanager.cluster-id

集群的Idelector使用該值確保RM不會(huì)做為其它集群的active

yarn.client.failover-proxy-provider

Clients, AMsNMs使用該類故障轉(zhuǎn)移到active RM

yarn.client.failover-max-attempts

FailoverProxyProvider嘗試故障轉(zhuǎn)移的最大次數(shù)。

yarn.client.failover-sleep-max-ms

故障轉(zhuǎn)移間的最大休眠時(shí)間(單位:毫秒)。

yarn.client.failover-retries

每一個(gè)嘗試連接到RM的重試次數(shù)。

yarn.client.failover-retries-on-socket-timeouts

socket超時(shí)時(shí),每一個(gè)嘗試連接到RM的重試次數(shù)。

      下面是RM故障轉(zhuǎn)移的簡單配置示例,在該示例中啟用了HA,那末也就啟用了自動(dòng)故障轉(zhuǎn)移。

<property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> </property> <property> <name>yarn.resourcemanager.cluster-id</name> <value>cluster1</value> </property> <property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value> </property> <property> <name>yarn.resourcemanager.hostname.rm1</name> <value>master1</value> </property> <property> <name>yarn.resourcemanager.hostname.rm2</name> <value>master2</value> </property> <property> <name>yarn.resourcemanager.zk-address</name> <value>zk1:2181,zk2:2181,zk3:2181</value> </property>

      正如上面提到的,hadoop也為管理員提供了CLI的方式管理RM HA,但在沒有啟用HA的情況下,下面的命令是不可用的:

[hadoop@hadoop ~]$ yarn rmadmin -getServiceState Cannot run -getServiceState when ResourceManager HA is not enabled [hadoop@hadoop ~]$ yarn rmadmin -transitionToStandby Cannot run -transitionToStandby when ResourceManager HA is not enabled

      假定已啟用了HA,那末就能夠通過CLI的方式查看RM的狀態(tài)和手動(dòng)進(jìn)行故障轉(zhuǎn)移,假定yarn.resourcemanager.ha.rm-ids的值為rm1和rm2:

$ yarn rmadmin -getServiceState rm1 active $ yarn rmadmin -getServiceState rm2 standby

      手動(dòng)故障轉(zhuǎn)移必須在自動(dòng)故障轉(zhuǎn)移禁用的條件下履行,否則會(huì)出現(xiàn)split-brain的情形或其它不正確的狀態(tài),手動(dòng)故障轉(zhuǎn)移的命令為:

$ yarn rmadmin -transitionToStandby rm1
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 99精品视频在线成人精彩视频 | 欧美日韩精品国产一区二区 | 图片区 日韩 欧美 亚洲 | 亚洲一区二区三区91 | 欧美最猛黑人xxxx黑人猛交黄 | 国外处破女一区二区 | 欧美v日韩v亚洲v最新 | 天堂一码二码专区 | 成人免费视频视频在线不卡 | 国产自精品在线 | www干| 亚洲欧美日韩中文综合在线不卡 | 亚洲综合影视 | 亚洲毛片免费在线观看 | 国产成人免费a在线资源 | 国产毛片片精品天天看视频 | 久久私人影院 | 亚洲性夜 | 最近在线中文字幕免费版 | 国内精自视频品线六区免费 | 日韩亚洲欧美一区 | 最近免费字幕中文大全视频 | 午夜视频高清在线aaa | 男女激情视频在线观看 | 国产一区二区三区夜色 | 成人精品国产亚洲欧洲 | 老司机福利在线免费观看 | 欧美18videosex性极品 | 伊人亚洲 | 亚洲综合一区二区不卡 | 久久天天躁狠狠躁夜夜爽蜜月 | 一区二区三区在线视频观看 | 操欧美女| 最新中文字幕日本 | 午夜dj免费视频观看社区 | 91麻精品国产91久久久久 | 综合激情区视频一区视频二区 | 在线观看视频亚洲 | 国产亚洲精品欧美一区 | 午夜性色福利视频 | 天天天狠天天透天天制色 |