這篇文章主要講解了“hadoop2.x HA下DFSClient初始化流程是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“hadoop2.x HA下DFSClient初始化流程是什么”吧!
通遼網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),通遼網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為通遼近1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的通遼做網(wǎng)站的公司定做!
Hadoop2.X NameNode加入了autofiledover機(jī)制,對(duì)于采用了HA的namenode,在HDFS Client訪(fǎng)問(wèn)的時(shí)候,是如何自動(dòng)識(shí)別active的NN,又是在active NN 宕機(jī)的時(shí)候,自動(dòng)切換到新的NN呢。
1.DFSClient的初始化:
主要涉及的類(lèi)有以下幾個(gè):NameNodeProxies、RetryProxy、RetryInvocationHandler、ConfiguredFailoverProxyProvider。
NameNodeProxies | 與NN通訊的對(duì)象的創(chuàng)建提供類(lèi) |
RetryProxy | RetryProxy的工廠(chǎng)方法 |
RetryInvocationHandler | 連接異常代理的方法實(shí)現(xiàn) |
ConfiguredFailoverProxyProvider | 獲取可用NN的類(lèi) |
具體代碼實(shí)現(xiàn)相對(duì)比較簡(jiǎn)單,只是邏輯稍微復(fù)雜。
2.在A(yíng)ctive NN宕機(jī)的時(shí)候,如何做到自動(dòng)切換。
可以看到對(duì)于連接異常的處理實(shí)現(xiàn)代碼:
if (action.action == RetryAction.RetryDecision.FAILOVER_AND_RETRY) {//繼續(xù)選擇可用的NN節(jié)點(diǎn) // Make sure that concurrent failed method invocations only cause a // single actual fail over. synchronized (proxyProvider) { if (invocationAttemptFailoverCount == proxyProviderFailoverCount) { proxyProvider.performFailover(currentProxy.proxy); //該方法會(huì)重新獲取下一個(gè)可用的NN proxyProviderFailoverCount++; } else { LOG.warn("A failover has occurred since the start of this method" + " invocation attempt."); } currentProxy = proxyProvider.getProxy(); //返回當(dāng)前可用的NN } invocationFailoverCount++; }
performFailover的實(shí)現(xiàn):
@Override public synchronized void performFailover(T currentProxy) { currentProxyIndex = (currentProxyIndex + 1) % proxies.size(); }
其實(shí)對(duì)于獲取可用的NN,就是將所有的NN節(jié)點(diǎn)方法到List中,然后從下標(biāo)0開(kāi)始獲取NN,如果有異常Index++,繼續(xù)獲取,直到可用。
感謝各位的閱讀,以上就是“hadoop2.x HA下DFSClient初始化流程是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)hadoop2.x HA下DFSClient初始化流程是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
文章標(biāo)題:hadoop2.xHA下DFSClient初始化流程是什么
網(wǎng)頁(yè)地址:http://muchs.cn/article42/ghsphc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、微信小程序、網(wǎng)站策劃、App設(shè)計(jì)、、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)