/bin/bash: /bin/java: Is a directory 解决

  Hadoop执行 mapreduce报错

2018-11-29 09:37:32,499 INFO mapreduce.Job:  map 0% reduce 0%
2018-11-29 09:37:32,539 INFO mapreduce.Job: Job job_1543500660213_0004 failed with state FAILED due to: Application application_1543500660213_0004 failed 2 times due to AM Container for appattempt_1543500660213_0004_000002 exited with  exitCode: 126
Failing this attempt.Diagnostics: [2018-11-29 09:37:31.956]Exception from container-launch.
Container id: container_1543500660213_0004_02_000001
Exit code: 126

[2018-11-29 09:37:31.962]Container exited with a non-zero exit code 126. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
/bin/bash: /bin/java: No such file or directory


[2018-11-29 09:37:31.967]Container exited with a non-zero exit code 126. Error file: prelaunch.err.
Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :
/bin/bash: /bin/java: No such file or directory


For more detailed output, check the application tracking page: http://venn01:8088/cluster/app/application_1543500660213_0004 Then click on links to logs of each attempt.
. Failing the application.
2018-11-29 09:37:32,557 INFO mapreduce.Job: Counters: 0

wtf?

看了下hadoop-env.sh 里面的JAVA_HOME,也没问题

算了,没有就给你一个吧

ln -s /opt/jdk1.8.0_91/bin/java /bin/java

建个软连接,把Java指过去,搞定。

原文地址:https://www.cnblogs.com/Springmoon-venn/p/10041501.html