1. 程式人生 > >hive on spark通過YARN-client提交任務不成功

hive on spark通過YARN-client提交任務不成功

在Hive on spark中  設定spark.master 為 yarn-client ,

提交HiveQL任務到yarn上執行,發現任務無法執行 輸出一下錯誤:

可以看到 Hive on Spark 可以submit查詢,但是任務無法執行。

因為我們設定的yarn-client 模式提交,所以在hive執行的輸出log日誌中查詢到相應語句輸出的log資訊:


發現yarn.Client 一直在重複的report,等待資源排程。

總結下解決思路:

1>  首先想到是叢集中記憶體資源不足,可以檢查下每臺機器是否有足夠剩餘記憶體( free -g);也可能是其他已經提交的應用佔了大部分資源;

2> 如果1>正常,我們可以看看YARN叢集是否啟動成功。注意“坑”可能就在這裡: 即使Slave上的nodemanager程序存在,要注意檢查resource manager日誌,看看各個node manager是否啟動成功,我的問題就出現在這裡:程序在,但是日誌顯示node manager狀態為UNHEALTHY,所以YARN叢集能識別到的總記憶體資源為0。。。

檢查了UNHEALTHY的原因,

2017-09-11 18:21:55,857 WARN org.apache.hadoop.yarn.server.nodemanager.DirectoryCollection: Directory /tmp/hadoop-root/nm-local-dir error, used space above threshold of 90.0%, removing from list of valid directories
2017-09-11 18:21:55,857 WARN org.apache.hadoop.yarn.server.nodemanager.DirectoryCollection: Directory /opt/Beaver/hadoop-2.7.3/logs/userlogs error, used space above threshold of 90.0%, removing from list of valid directories
2017-09-11 18:21:55,857 INFO org.apache.hadoop.yarn.server.nodemanager.LocalDirsHandlerService: Disk(s) failed: 1/1 local-dirs are bad: /tmp/hadoop-root/nm-local-dir; 1/1 log-dirs are bad: /opt/Beaver/hadoop-2.7.3/logs/userlogs
2017-09-11 18:21:55,857 ERROR org.apache.hadoop.yarn.server.nodemanager.LocalDirsHandlerService: Most of the disks failed. 1/1 local-dirs are bad: /tmp/hadoop-root/nm-local-dir; 1/1 log-dirs are bad: /opt/Beaver/hadoop-2.7.3/logs/userlogs

       發現是由於磁碟空間不夠,已經達到 90%的閾值,導致無法啟動node節點啟動為UNHEALTHY,所以 清理一些磁碟空間再啟動就可以正常的運行了。