M2 Mac通过UTM虚拟化Ubuntu安装Hadoop时JAVA_HOME路径错误的解决咨询
Hey,我来帮你搞定这个JAVA_HOME的问题!你遇到的错误提示里路径/usr/lib/jvm/java-11-openjak-amd64明显有个拼写错误——是openjdk不是openjak,而且就算改了拼写,也得先确认Ubuntu里实际安装的Java路径是不是这个,毕竟有时候版本或者安装方式不同,路径会有差异。
给你一步步来解决:
先检查系统里实际的Java安装路径
打开终端,运行这个命令:update-alternatives --list java它会输出类似
/usr/lib/jvm/java-11-openjdk-amd64/bin/java这样的路径,你只需要去掉最后的/bin/java,剩下的就是正确的JAVA_HOME路径。确认路径确实存在
再跑个命令看看/usr/lib/jvm/下的文件夹:ls /usr/lib/jvm/看看里面有没有你刚才得到的那个Java目录,比如
java-11-openjdk-amd64。修改Hadoop的配置文件
找到你Hadoop安装目录下的etc/hadoop/hadoop-env.sh文件,用编辑器打开它,找到export JAVA_HOME那一行,把路径改成你刚才确认的正确路径,比如:export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64如果找不到这一行,直接在文件合适的位置加上就行。
(可选)配置系统全局环境变量
为了避免其他程序也遇到类似问题,你可以把JAVA_HOME加到系统环境变量里:
编辑~/.bashrc文件,添加以下内容:export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH保存后运行
source ~/.bashrc让配置生效。验证配置
最后在终端运行echo $JAVA_HOME,看看输出的路径是不是你设置的正确路径,没问题的话重新启动Hadoop就应该不会报错啦!
备注:内容来源于stack exchange,提问作者Syed Safi Ullah

