该答案适用于Hadoop 2.6.0及更低版本。禁用SIP并创建符号链接确实提供了一种解决方法。更好的解决方案是修复hadoop-
config.sh,以使其正确接收您的JAVA_HOME
在
HADOOP_HOME/libexec/hadoop-config.sh看看下面的,如果条件
# Attempt to set JAVA_HOMEif it is not set
删除导出JAVA_HOME行中的多余括号,如下所示。改变这个
if [ -x /usr/libexec/java_home ]; then export JAVA_HOME=($(/usr/libexec/java_home))else export JAVA_HOME=(/Library/Java/Home)fi
至
if [ -x /usr/libexec/java_home ]; then // note that the extra parentheses are removed export JAVA_HOME=$(/usr/libexec/java_home)else export JAVA_HOME=/Library/Java/Homefi
进行此更改后,请重新启动纱线。
可以在这里找到更详细的信息https://issues.apache.org/jira/browse/HADOOP-8717,并且似乎Hadoop
3.0.0-alpha1是该修复程序的第一个发行版。



