Yarn NodeManager restart


一、介紹
默認Yarn NodeManager重啟后會斷開所有當前正在運行的container的狀態,這意味着重啟后需要重新啟動container進程,該特性的作用就是把NM的狀態臨時保存到本地,重啟后從之前的狀態恢復運行。


二、配置

配置以下三個參數到conf/yarn-site.xml中
1、yarn.nodemanager.recovery.enabled
默認為false,設置為true啟用特性

2、yarn.nodemanager.recovery.dir
默認為$hadoop.tmp.dir/yarn-nm-recovery,NM保存container狀態的本地目錄

3、yarn.nodemanager.address
默認${yarn.nodemanager.hostname}:0,即隨機使用臨時端口,官方解釋是"The address of the container manager in the NM"。NodeManager不能對RPC server使用臨時端口,因為NM在重啟后會更換端口,會打斷重啟前的container與NodeManager的連接,設置后可以固定使用同一個的端口。


三、總結
為NodeManager配置輔助服務,yarn依賴於輔助服務來支持container恢復,通常避免使用臨時的端口,這樣的話,重啟前的container不會因為端口變化而失去container的連接。
MR的ShuffleHandler就是輔助服務的一個例子,ShuffleHandler涉及到上面的條件,所以用戶或者管理員不需要對MR做任何事來滿足NM restart功能:
a、mapreduce.shuffle.port參數控制了NodeManager節點上的哪個端口與ShuffleHandler進行綁定
b、ShuffleHandler已經支持在NodeManager重啟后恢復之前的運行狀態


免責聲明!

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



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