“Linux 上 HDFS 配置失败”是一个比较宽泛的问题,原因可能涉及环境、配置、权限、网络、版本等多个方面。下面我按最常见失败原因 → 排查方法 → 示例配置系统给你梳理一下,你可以对照看是哪一类。
HDFS 强依赖 Java。
表现:
Error: JAVA_HOME is not set
解决:
export JAVA_HOME=/usr/java/jdk1.8.0_xxx
export PATH=$JAVA_HOME/bin:$PATH
建议写进:
~/.bashrc
/etc/profile
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/data/datanode</value>
</property>
</configuration>
❌ 常见错误:
hdfs namenode -format
没格式化就启动 = 必失败
HDFS 数据目录不能是 root 随意创建。
mkdir -p /opt/hadoop/data
chown -R hadoop:hadoop /opt/hadoop
ssh-keygen
ssh-copy-id localhost
否则:
Permission denied (publickey,password)
systemctl stop firewalld
或开放端口:
firewall-cmd --add-port=9000/tcp --permanent
cat /etc/hosts
确保:
127.0.0.1 localhost
❌ 不要写成:
127.0.0.1 localhost localhost.localdomain
部分 Hadoop 版本会解析异常。
| Hadoop | Java |
|---|---|
| 2.x | JDK 8 |
| 3.x | JDK 8 / 11 |
1. echo $JAVA_HOME
2. jps
3. cat logs/hadoop-*.log
4. hdfs dfsadmin -report
5. tail -n 100 logs/*
你可以直接贴出:
我可以直接帮你定位是哪一步配置错了。