安装Hadoop 3.2.2执行hdfs namenode -format提示HADOOP_COMMON_HOME错误
问题原因
你的.bashrc配置中所有引用已定义变量的位置都遗漏了$前缀,系统会将HADOOP_HOME、JAVA_HOME这类内容识别为普通字符串,而非你提前定义的路径值,因此HADOOP_COMMON_HOME实际被赋值为字符串HADOOP_HOME,而非预期的/usr/local/hadoop,触发路径无效报错。
具体错误点
- 所有
export行中引用HADOOP_HOME、JAVA_HOME、PATH等已有变量时,未添加$前缀读取变量值 - 最后两行路径拼接和参数配置中的变量全部未正确取值
修正后的完整配置
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native"
后续操作
- 保存修改后执行
source ~/.bashrc让配置生效 - 执行
echo $HADOOP_COMMON_HOME验证输出是否为/usr/local/hadoop,确认配置生效后再执行hdfs namenode -format即可
内容的提问来源于stack exchange,提问作者Ghose Bishwajit
相关产品推荐
相关产品推荐

