2015-04-01 98 views
4

我越來越:YARN申請退出,退出碼:-1000無法初始化用戶目錄

Application application_1427711869990_0001 failed 2 times due to AM Container for appattempt_1427711869990_0001_000002 exited with exitCode: -1000 due to: Not able to initialize user directories in any of the configured local directories for user kailash 
.Failing this attempt.. Failing the application. 

我couldn`t找到與此相關的退出代碼和相關的任何理由。我使用Hadoop 2.5.0(Cloudera 5.3.2)。

回答

8

其實這是由於某些紗線本地目錄的權限問題。我開始使用LinuxContainerExecutor(以nonsecure-mode.local-user作爲kailash的非安全模式)並做出相應更改。但是由於一些(未知的)原因,NodeManager無法爲用戶清理本地目錄,並且仍然存在具有以前用戶的目錄(在我的例子中是紗線)。

所以要解決這個問題,我首先必須找到屬性yarn.nodemanager.local-dirs的值(使用Cloudera使用搜索選項爲YARN服務找到此屬性,否則查看hadoop conf目錄中的yarn-site.xml),然後爲所有節點管理器節點定義用戶緩存下的文件/目錄。在我的情況下,我用:

rm -rf /yarn/nm/usercache/* 
1

以防萬一有人與usercache位置丟失。如果您沒有在任何地方配置yarn.nodemanager.local-dirs,請在默認位置${hadoop.tmp.dir}/nm-local-dir中查找它。 同樣,如果hadoop.tmp.dir沒有在core-site.xml中配置,它將在/tmp/hadoop-${user.name}下。 user.name是您用來運行當前Hadoop進程的UNIX用戶。 默認情況下,所有配置文件都在$HADOOP_INSTALL/etc/hadoop/之下。

0

您需要應用此命令

室射頻/ DN /紗/納米/ usercache/* {這是我的配置}

請檢查你的內心紗構造(包括MR2)節點管理器本地目錄。

http://i.imgur.com/BHwhUnB.jpg

您需要將此應用到報告的錯誤由YARN

這是我的案件的樣本數據節點

http://i.imgur.com/miNx454.jpg

ApplicationMaster報道,C90BFH04.localdomain:8042 ,這是數據節點no 4。所以我只適用於YARN目錄中的節點no 4

之後,一切都OK!

0

我在sqoop合併得到下面的錯誤,我認爲這些都與: -

Application application_1499404558183_0004 failed 2 times due to AM Container for appattempt_1499404558183_0004_000002 exited with exitCode: -1000 
For more detailed output, check application tracking page:http://quickstart.cloudera:8088/proxy/application_1499404558183_0004/Then, click on links to logs of each attempt. 
Diagnostics: error in opening zip file 
java.util.zip.ZipException: error in opening zip file 
at java.util.zip.ZipFile.open(Native Method) 
at java.util.zip.ZipFile.<init>(ZipFile.java:215) 
at java.util.zip.ZipFile.<init>(ZipFile.java:145) 
at java.util.jar.JarFile.<init>(JarFile.java:154) 
at java.util.jar.JarFile.<init>(JarFile.java:118)