【解决】org.apache.hadoop.util.Shell$ExitCodeException: /bin/bash: line 0: fg: no job control
Posted on 2015-04-30 19:02 FryFish 阅读(2220) 评论(1) 编辑 收藏 举报【环境信息】
Hadoop版本:2.4.0
客户端OS:Windows Server 2008 R2
服务器端OS:CentOS 6.4
【问题现象】
在通过Windows客户端向Linux服务器提交Hadoop应用时,会提示如下错误:
org.apache.hadoop.util.Shell$ExitCodeException: /bin/bash: line 0: fg: no job control at org.apache.hadoop.util.Shell.runCommand(Shell.java:505) at org.apache.hadoop.util.Shell.run(Shell.java:418) at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650) at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:195) at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:300) at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
【解决办法】
在客户端配置文件中添加如下属性:
<property> <name>mapreduce.app-submission.cross-platform</name> <value>true</value> </property>
注意:必须添加到Hadoop程序读取的客户端本地配置文件中,添加到客户端Hadoop安装路径中的“core-site.xml”,“mapred-site.xml”等文件中不起作用。
另,下面的链接未提供正确的解决方案,但为我找到解决办法提供了思路,可供参考: