在 Linux 上 HDFS 配置后宕机(NameNode / DataNode 起不来或频繁退出),常见原因可以分成几类。下面按「出现频率」和「排查顺序」给你一份速查清单。
现象
java.io.IOException: NameNode is not formatted
解决
hdfs namenode -format
⚠️ 注意:格式化会清空元数据,只在第一次部署时做
重点检查:
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hadoop/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop/datanode</value>
</property>
常见坑
现象
Permission denied
Cannot create directory
解决
mkdir -p /data/hadoop/namenode
mkdir -p /data/hadoop/datanode
chown -R hadoop:hadoop /data/hadoop
现象
检查
echo $JAVA_HOME
解决
在 hadoop-env.sh 中:
export JAVA_HOME=/usr/java/jdk1.8.0_xxx
现象
UnknownHostException
解决
vim /etc/hosts
确保有:
127.0.0.1 localhost
192.168.1.10 master
并确认:
hostname
和配置中一致
现象
java.lang.OutOfMemoryError
解决
export HADOOP_HEAPSIZE=1024
或:
export HADOOP_NAMENODE_OPTS="-Xmx2g"
现象
Retrying connect to server
原因
解决
systemctl stop firewalld
或开放端口:
firewall-cmd --add-port=9000/tcp --permanent
$HADOOP_HOME/logs/
重点看:
hadoop-*-namenode-*.loghadoop-*-datanode-*.loggrep -i error $HADOOP_HOME/logs/*.log
我可以一步步帮你排到能起来 ✅