CentOS 上 HDFS 报错是一个比较宽泛的问题,常见原因和排查思路如下。你可以对照看看属于哪一类;如果你愿意,也可以把具体报错日志贴出来,我可以精准定位。
HDFS 强依赖 hostname 解析。
现象
NameNode 或 DataNode 起不来UnknownHostException、Connection refused排查
hostname
hostname -f
cat /etc/hosts
✅ 必须保证:
/etc/hosts 中有本机 IP 和 hostname示例:
192.168.1.10 master
192.168.1.11 slave1
HDFS 启动依赖 SSH。
现象
start-dfs.sh 时某些节点起不来Permission denied (publickey)解决
ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
测试:
ssh master
ssh slave1
Hadoop 对 Java 版本非常敏感。
检查
java -version
echo $JAVA_HOME
✅ 建议:
JAVA_HOME 必须在:
/etc/profilehadoop-env.sh重点检查:
$HADOOP_HOME/etc/hadoop/
关键文件:
core-site.xmlhdfs-site.xmlworkers(或 slaves)常见错误
fs.defaultFS 写错namenode / datanode 目录不存在CentOS 默认安全策略较严。
现象
Permission denied解决
sudo chown -R hadoop:hadoop /data/hadoop
chmod -R 755 /data/hadoop
或关闭 SELinux(测试环境):
getenforce
sudo setenforce 0
现象
FS state not found解决
hdfs namenode -format
⚠️ 注意:会清空 HDFS 元数据(生产环境慎用)
现象
CentOS 7
systemctl stop firewalld
systemctl disable firewalld
netstat -tunlp | grep 9000
netstat -tunlp | grep 9870
$HADOOP_HOME/logs/
重点看:
hadoop-*-namenode-*.loghadoop-*-datanode-*.log把 前 20~50 行报错 贴出来即可。
你可以直接发我:
core-site.xmlhdfs-site.xmlhostname + /etc/hosts我可以一步一步帮你把 HDFS 跑起来 ✅