CentOS 上 HDFS 配置失败的原因非常多,一般不是“某一个固定错误”,而是环境、配置、权限、网络几类问题叠加。下面我按最常见原因 → 排查方法 → 解决建议给你系统梳理。
现象
start-dfs.sh 没反应Error: JAVA_HOME is not set检查
echo $JAVA_HOME
java -version
解决
在 hadoop-env.sh 中显式指定:
export JAVA_HOME=/usr/java/jdk1.8.0_xxx
现象
UnknownHostException检查
hostname
cat /etc/hosts
正确示例
127.0.0.1 localhost
192.168.1.10 master
192.168.1.11 slave1
⚠️ 不要只写 127.0.0.1 对应主机名
现象
start-dfs.sh 卡住解决
ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id slave1
测试:
ssh master
ssh slave1
现象
Permission denied常见目录
/hadoop/tmp
/hadoop/dfs/name
/hadoop/dfs/data
解决
chown -R hadoop:hadoop /hadoop
chmod -R 755 /hadoop
典型错误
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
❌ 常见错误:
dfs.namenode.name.dir 路径不存在反复执行:
hdfs namenode -format
后果
解决
rm -rf /hadoop/dfs/*
hdfs namenode -format
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vi /etc/selinux/config
SELINUX=disabled
$HADOOP_HOME/logs/
重点看:
hadoop-*-namenode-*.loghadoop-*-datanode-*.log90% 的问题日志里直接写明原因
[ ] JAVA_HOME 正确
[ ] /etc/hosts 正确
[ ] SSH 免密成功
[ ] 目录权限正常
[ ] 只格式化一次
[ ] 防火墙关闭
[ ] 配置文件无错别字
你可以把下面信息发我:
core-site.xml + hdfs-site.xml我可以直接帮你逐行指出哪里错了。