【发布时间】:2012-12-03 16:03:46
【问题描述】:
想运行一些 hadoop 程序。我看到 NameNode、Datanode、Yarn 集群 URL 启动并运行。即 127.0.0.1:50070 /dfshealth.jsp、localhost:8088 /cluster/cluster 等
但是当我尝试运行我的 mapreduce 程序时: $ hadoop MySampleProgram hdfs://localhost/user/cyg_server/input/myfile.txt hdfs: //localhost/user/cyg_server/output/op
程序失败并显示日志:
INFO mapreduce.Job (Job.java:monitorAndPrintJob(1295)) - 映射 0% 减少 0%
INFO mapreduce.Job (Job.java:monitorAndPrintJob(1308)) - 作业 job_1354496967950_0003 失败,状态为 FAILED,原因是:应用程序 application_1354496967950_0003 由于 AM Container 失败 1 次 appattempt_1354496967950_0003_000001 以 exitCode: 127 退出,原因是: .这次尝试失败..申请失败。
2012-12-03 07:29:50,544 信息 mapreduce.Job (Job.java:monitorAndPrintJob(1313)) - 计数器:0
当我查看一些日志时,我注意到:nodemanager.DefaultContainerExecutor (DefaultContainerExecutor.java:launchContainer(193)) - 任务的退出代码是:127
我正在使用 cygwin 在 Windows 7 中运行。
非常感谢任何输入。
:::在此处添加更多信息::: 到目前为止,我可以看到以下 hadoop 源在执行 [试图设置启动容器] 失败...我在此处添加该文件的源 URL ....(注意这不是 hadoop 错误,但我指出但我错过了一些东西).... 类:DefaultContainerExecutor 方法:启动容器 行:从方法 launchContainer 开始到打印代码的 195 行。
节点管理器日志摘录
INFO nodemanager.DefaultContainerExecutor (DefaultContainerExecutor.java:launchContainer(175)) - 启动容器:[bash, /tmp/nm-local-...2936_0003/container_1354566282936_0003_01_000001/default_container_executor.sh]
警告 nodemanager.DefaultContainerExecutor (DefaultContainerExecutor.java:launchContainer(193)) - 退出代码 任务是:127
INFO nodemanager.ContainerExecutor (ContainerExecutor.java:logOutput(167)) -
WARN 启动器.ContainerLaunch (ContainerLaunch.java:call(274)) - 容器以非零退出代码 127 退出
谢谢哈里
【问题讨论】:
-
只是将您的旧问题发布到新问题中,并不意味着这会更好。请查看导致您平台上的退出代码 127 的原因,然后返回一个具体问题。
-
我已经重新格式化它并且更具可读性。我不确定是什么导致了退出代码 127。这实际上就是我在这里发布这个问题的原因。如果可以的话,我肯定会添加更多信息。
-
问题是,退出代码 127 可能由任何原因引起。因此,您需要提供一些日志数据或 PC 的指标。
-
bash 的退出状态 127 表示找不到命令。尝试手动运行 bash /tmp/nm-local-*2936_0003/container_1354566282936_0003_01_000001/default_container_executor.sh。
-
pensz:谢谢,这就是我想要的。但是该程序在退出时会清除所有 tmp 目录,包括该 .sh 文件。所以试图看看我是否可以做一些事情来让那个 .sh 文件中的脚本持久化。