hadoop Mapreduce未运行,/bin/bash:/bin/java:没有这样的文件或目录

axkjgtzd  于 2022-11-01  发布在  Hadoop
关注(0)|答案(1)|浏览(278)

我收到以下错误。

[2022-03-01 20:03:49.581]Container exited with a non-zero exit code 127. Error file: prelaunch.err.

Last 4096 bytes of prelaunch.err :
Last 4096 bytes of stderr :

/bin/bash: /bin/java: No such file or directory

我已经在hadoop-env.sh中设置了我的JAVA_HOME。我在MacOS 12.1上运行,所以符号链接是不可能的。
hadoop-env.sh 配置:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.13.jdk/Contents/Home

已重新安装Hadoop两次。
任何意见都将受到欢迎。
Hadoop版本:3.3.1(hadoop-config.sh就可以了)

j8yoct9x

j8yoct9x1#

我已经卸载了Hadoop的Brew安装,直接从Apache网站安装,现在正在工作。
有趣的是,我发现sbin文件夹中的所有脚本都有JAVA_HOME预定义的不同路径“/opt/hombrew/opt”,而不是我的Java(我是从Web安装的,而不是自制的)所在的路径。我猜Hadoop的自制版本会将所有Java版本预置到所安装Java的软链接所在的位置。
我已经再次安装了hadoop的自制变种,我可以看到3.3.2正在推动目前。
start-all.sh脚本如下所示:


# !/bin/bash

JAVA_HOME="/opt/homebrew/opt/openjdk" exec "/opt/homebrew/Cellar/hadoop/3.3.2/libexec/sbin/start-all.sh"  "$@"

从Apache网站下载的Hadoop的文件夹分布和从Homebrew下载的文件夹分布有点不同。

相关问题