2012-12-03 33 views
2

Tyring運行一些hadoop程序。我看到NameNode,Datanode,Yarn羣集URL已啓動並正在運行。即127.0.0.1:50070 /dfshealth.jsp,localhost:8088 /羣集/羣集等Hadoop mapreduce程序失敗,退出代碼127

但是,當我嘗試運行我的mapreduce程序爲:$ hadoop MySampleProgram hdfs:// localhost/user/cyg_server/input/myfile.txt的HDFS://本地主機/用戶/ cyg_server /輸出/ OP

該程序失敗的日誌:

INFO mapreduce.Job(Job.java:monitorAndPrintJob(1295)) - 地圖0%減少 0%

信息mapreduce.Job(Job.java:monitorAndPrintJob(1308)) - Job 個job_1354496967950_0003失敗,失敗的國家,因爲:應用 application_1354496967950_0003失敗,由於AM容器1次 appattempt_1354496967950_0003_000001與退出碼退出:127由於: .Failing這一嘗試失敗..應用。

2012年12月3日07:29:50544 INFO mapreduce.Job (Job.java:monitorAndPrintJob(1313)) - 計數器:0

當我通過一些日誌沒有我注意到這個:nodemanager.DefaultContainerExecutor(DefaultContainerExecutor.java:launchContainer(193)) - 從任務退出代碼是:127

我在Windows 7中運行,使用cygwin。

任何輸入,非常感謝。

:::增加更多的信息在這裏::: 截至目前,我可以看到下面的Hadoop的來源,而執行[嘗試設置啓動容器]故障...我添加源URL該文件這裏....(注意這不是hadoop錯誤,但我指出了,但我缺少一些東西)... 類:DefaultContainerExecutor 方法:launchContainer 行:從方法launchContainer開始到195打印代碼。

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.hadoop/hadoop-yarn-server-nodemanager/0.23.1/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java#193

節點管理器LOG EXTRACT

INFO nodemanager.DefaultContainerExecutor (DefaultContainerExecutor.java:launchContainer(175)) - launchContainer:[bash中, /TMP /納米本地-... 2936_0003/container_1354566282936_0003_01_000001/default_container_executor.sh]

WARN nodemanager.DefaultContain erExecutor (DefaultContainerExecutor.java:launchContainer(193)) - 從 任務退出代碼爲:127

INFO nodemanager.ContainerExecutor (ContainerExecutor.java:logOutput(167)) -

WARN launcher.ContainerLaunch( ContainerLaunch。Java的:電話(274)) - 集裝箱退出,非零退出代碼127

感謝哈日

+1

只需發佈您的舊問題變成新問題,並不意味着這會更好。請查看在您的平臺上導致退出代碼爲127的問題,然後再回答一個具體問題。 –

+0

我已經重新格式化了它,並且更具可讀性。我不知道什麼導致退出代碼127.這實際上是爲什麼我在這裏發佈這個問題。如果可以,我肯定會添加更多信息。 – hbr

+1

事情是,退出代碼127可能是由一切引起的。因此,您需要提供一些日誌數據或PC的指標。 –

回答

1

我就遇到了這個問題,當我試圖使用未列入標準的Hadoop庫分配(在我的情況下爲org.apache.lucene)。解決方案是使用"yarn.application.classpath"配置屬性添加缺少的庫到類路徑紗:

String cp = conf.get("yarn.application.classpath"); 
    String home=System.getenv("HOME"); 
    cp+=","+home+"/" + ".m2/repository/org/apache/lucene/lucene-core/4.4.0/*"; 
    cp+=","+home+"/" + ".m2/repository/org/apache/lucene/lucene-analyzers/4.4.0/*"; 
    cp+=","+home+"/" + ".m2/repository/org/apache/lucene/lucene-analyzers-common/4.4.0/*"; 
    conf.set("yarn.application.classpath", cp); 
3

硬編碼內hadoop-env.sh Java主路徑解決了這個問題對我來說,如下所示:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home 
+0

我遇到了同樣的問題。此解決方案有效。非常感謝! – mathsyouth

+0

@mathsyouth在這種情況下,你應該投票:) – KayV

+0

我已投了票。謝謝! – mathsyouth