“Linux 上 HDFS 配置报错”这个现象太宽泛了,不同错误原因差别很大。下面我按常见报错类型 + 原因 + 解决办法给你系统梳理一下,你可以对照自己的情况;如果你能贴出具体报错信息,我可以精准定位。
报错示例
Error: JAVA_HOME is not set and could not be found
原因
hadoop-env.sh 里没设置 JAVA_HOME解决
which java
# 比如 /usr/lib/jvm/java-8-openjdk-amd64
vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
添加:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
报错示例
Permission denied (publickey,password)
原因
解决
ssh-keygen -t rsa
ssh-copy-id localhost
# 或各节点互相 copy
报错示例
IllegalArgumentException: URI has an authority component
原因
fs.defaultFS 写错正确示例
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
报错示例
Incompatible clusterIDs
原因
hdfs namenode -format解决
dfs.datanode.data.dir 和 namenode 目录报错示例
mkdir: Permission denied
原因
解决
sudo chown -R hadoop:hadoop /opt/hadoop/data
报错示例
Call to localhost/127.0.0.1:9000 failed on connection exception
解决
systemctl stop firewalld
# 或开放端口
firewall-cmd --add-port=9000/tcp --permanent
请补充以下信息,我可以直接给你精确答案:
如果你愿意,可以直接把报错贴出来,我帮你逐行分析。