在 CentOS 上搭建 HDFS(Hadoop 分布式文件系统)失败的原因有很多,下面我按常见失败原因 + 排查思路 + 示例解决方案给你系统梳理一下,方便你对照排查。
现象
start-dfs.sh 报错:JAVA_HOME is not set解决
java -version
推荐:
设置:
export JAVA_HOME=/usr/java/jdk1.8.0_XXX
现象
解决
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
# 永久关闭
vi /etc/selinux/config
SELINUX=disabled
现象
UnknownHostException解决
hostnamectl set-hostname node1
vi /etc/hosts
192.168.1.10 node1
192.168.1.11 node2
⚠️ 不要用 127.0.0.1 配 NameNode 地址
常见错误
fs.defaultFS 写错示例(单节点)
<!-- core-site.xml -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<!-- hdfs-site.xml -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hadoop/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop/data</value>
</property>
目录必须存在:
mkdir -p /data/hadoop/name /data/hadoop/data
chown -R hadoop:hadoop /data/hadoop
现象
NameNode is not formatted解决
hdfs namenode -format
⚠️ 只能格式化一次,重复格式化会导致 DataNode 失效
现象
解决
useradd hadoop
su - hadoop
所有 Hadoop 操作都在 hadoop 用户下执行
现象
start-dfs.sh 卡住解决
ssh-keygen -t rsa
ssh-copy-id node1
ssh-copy-id node2
日志位置:
$HADOOP_HOME/logs/
重点看:
hadoop-*-namenode-*.loghadoop-*-datanode-*.log你可以把 具体报错信息或日志贴出来(尤其是 NameNode / DataNode 日志),我可以精准帮你定位是哪一步失败。
你现在是:
我可以按你的场景给你一套可直接用的配置。