格式化HDFS NameNode时遇错误,已在hadoop-env.sh配置JAVA_HOME
HDFS NameNode格式化报错(JAVA_HOME已配置但仍提示未设置)
问题现状
- 已在
hadoop-env.sh中配置JAVA_HOME环境变量,执行命令验证路径正常:
adminn@hadoop-master:~$ echo $JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/jre adminn@hadoop-master:~$
- 执行HDFS NameNode格式化时,仍收到错误提示:
Error: JAVA_HOME is not set and could not be found.(翻译:错误:JAVA_HOME未设置且无法找到)
解决步骤
确保
hadoop-env.sh配置生效
打开$HADOOP_HOME/etc/hadoop/hadoop-env.sh文件,确认JAVA_HOME配置行未被注释(行首无#),配置内容为:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre保存后执行
source $HADOOP_HOME/etc/hadoop/hadoop-env.sh,再重新运行格式化命令。检查环境变量覆盖情况
排查~/.bashrc、/etc/profile等全局配置文件,确认没有其他地方的JAVA_HOME配置覆盖了hadoop-env.sh中的设置。使用绝对路径执行格式化
直接用Hadoop安装路径执行命令,避免路径问题:/opt/hadoop/bin/hdfs namenode -format(将
/opt/hadoop替换为你的实际Hadoop安装目录)验证路径权限
确保运行Hadoop的用户(adminn)对JAVA_HOME路径有读取权限:ls -ld /usr/lib/jvm/java-8-openjdk-amd64/jre若权限不足,执行
sudo chmod -R 755 /usr/lib/jvm/java-8-openjdk-amd64/jre调整。
内容的提问来源于stack exchange,提问作者Salva
相关产品推荐
相关产品推荐

