執行 yarn application 連接失敗且超時的錯誤解決


在AWS EMR使用多個Master高可用部署場景下,需要創建3台Master節點上。登錄到其中一台節點,運行如下命令:

yarn application -list

在某些場景下會遇到如下報錯。報錯信息:

WARN ipc.Client: Failed to connect to server: ip-172-31-22-134.cn-northwest-1.compute.internal/172.31.22.134:8032: retries get failed due to exceeded maximum allowed retries number: 0 java.net.ConnectException: Connection refused

 

錯誤場景如下截圖。

不過在等待一段時間后,也可以看到yarn返回了最終的輸出。如下截圖。

造成這個問題是因為EMR開啟了多Master部署,有三台Master節點,分別叫做rm1、rm2、rm3。當前登錄的節點可能是rm1,運行yarn查詢的時候默認先查詢rm1。但是,整個集群的master已經切換走了,rm1並不是master角色,所以yarn會反復查詢失敗,然后去輪詢到下一個節點rm2,繼續失敗,最后在rm3節點查詢完成。

接下來驗證下,當前的集群中誰是master節點。執行如下命令:

yarn rmadmin -getAllServiceState

執行效果如下截圖。

可以從如上命令看出,IP結尾是239的才是master節點。那么這個239節點是否在yarn查詢列表的第一位呢?還是排在最后一位?

編輯如下配置文件:

sudo vim /etc/hadoop/conf.empty/yarn-site.xml

查看里邊的resource manager的順序如下:

如上截圖可以看到,順序是rm1、rm2、rm3,而rm1對應的IP並不是當前的master節點。所以才有了這個查詢失敗。

解決辦法:把順序改成rm3、rm2、rm1。改完后,再運行yarn,就沒有報錯了。如下截圖。

至此問題解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM