Linux 下 HDFS 配置报错的原因非常多,最常见的通常不是 HDFS 本身有 bug,而是环境或配置细节问题。下面我按“高频原因 → 排查思路”给你一个系统清单,你可以对照看是哪一种。
报错示例
Error: JAVA_HOME is not set and could not be found
解决
echo $JAVA_HOME
hadoop-env.sh 中显式写死:export JAVA_HOME=/usr/java/jdk1.8.0_xxx
报错示例
localhost: Permission denied (publickey,password)
解决
ssh-keygen -t rsa
ssh-copy-id localhost
ssh localhost
典型错误
fs.defaultFS 写错正确示例
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/namenode</value>
</property>
⚠️ 目录必须提前创建,且用户有权限
报错示例
Cannot create directory /xxx/namenode/current
解决
hdfs namenode -format
⚠️ 只做一次,重复格式化会丢数据
报错示例
BindException: Address already in use
检查
netstat -tunlp | grep 9000
现象
解决
systemctl stop firewalld
setenforce 0
报错示例
mkdir: Permission denied
解决
hadoop)chown -R hadoop:hadoop /opt/hadoop
tail -200 $HADOOP_HOME/logs/hadoop-*-namenode-*.log
tail -200 $HADOOP_HOME/logs/hadoop-*-datanode-*.log
hdfs --daemon start namenode
hdfs --daemon start datanode
如果你愿意,可以贴:
hadoop version)core-site.xml + hdfs-site.xml我可以直接帮你逐行改配置,基本一次就能跑起来。