重啟yarn導致僵死資源不可用問題


今日在做節點可靠性測試的時候,錯誤重啟了yarn整個服務,其hdfs等他組件正常,yarn過會自動僵死,導致整個平台資源調度問題,恢復步驟如下:

1.查看日志tail -f yarn-resourcemanger-192.168.1.233.log(不清楚你的日志在哪可以find / -name yarn)

2.登陸裝有yarn的機器,查看rm1,rm2 的狀態。我的rm1,rm2,都是standby,(rm是resourceManger,HA)

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

(手動的切換准備命令了yarn rmadmin -transitionToStandby rm1)

3.以上兩個命令已經可以發現主rm沒有起來,但重啟后,依然會僵死。清空rm日志,重新啟動rm后,分析日志會發現如下錯誤:

Caused by: org.apache.hadoop.metrics2.MetricsException: Hadoop:service=ResourceManager,name=RMNMInfo already exists!

Caused by: java.lang.IllegalArgumentException: No object name specified
 at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:949)
 ... 21 more

 Metrics source ClusterMetrics already exists!

4.這時可以考慮是有個application加載不起來。

可以修改yarn-site.xml的yarn.resourcemanager.recovery.enabled = false。

若集群開啟了Recovery功能,則ResourceManager重啟過程中:

  • Hive作業正常運行至結束
  • YARN UI的作業信息一直保留存在

這里我們要改為false,后重啟yarn。

5.等待yarn空閑時,連接zookeeper(在zk的bin目錄下運行./zkCli.sh -server 127.0.0.1:2181)

登陸后查看該目錄ls /rmstore/ZKRMStateRoot/RMAppRoot,

不為空則使用該命令rmr /rmstore/ZKRMStateRoot/RMAppRoot/* 刪除目錄文件

確定為空時,把yarn-site.xml的yarn.resourcemanager.recovery.enabled改回ture

6.重啟yarn。

 


免責聲明!

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



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