在 Linux 上验证 HDFS(Hadoop Distributed File System)配置是否成功,可以从服务状态、基本读写、配置一致性、日志和 Web UI 几个层面来验证。下面给你一套常用且实用的验证步骤。
假设你已经:
HDFS(hdfs-site.xml、core-site.xml 等)hdfs namenode -format,仅第一次)echo $HADOOP_HOME
echo $PATH
确认 Hadoop 可执行文件在 PATH 中:
which hdfs
start-dfs.sh
jps(最常用)jps
✅ 正常情况应包含:
NameNodeDataNodeSecondaryNameNode(非 HA 模式)示例:
NameNode
DataNode
SecondaryNameNode
Jps
❌ 如果缺少 DataNode,通常是:
dfs.datanode.data.dir 目录冲突hdfs dfs -ls /
✅ 能正常列出目录说明 HDFS 可用
hdfs dfs -mkdir /test
hdfs dfs -ls /
echo "hello hdfs" > test.txt
hdfs dfs -put test.txt /test/
hdfs dfs -cat /test/test.txt
hdfs dfs -rm -r /test
✅ 能完成以上操作,说明 HDFS 配置基本正确
hdfs getconf -confKey fs.defaultFS
示例输出:
hdfs://localhost:9000
检查关键配置:
hdfs getconf -confKey dfs.replication
hdfs getconf -confKey dfs.namenode.name.dir
hdfs getconf -confKey dfs.datanode.data.dir
$HADOOP_HOME/etc/hadoop/core-site.xml
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
确认:
fs.defaultFSdfs.replication访问:
http://<namenode-host>:9870
(Hadoop 3.x)
或(Hadoop 2.x):
http://<namenode-host>:50070
✅ 检查:
$HADOOP_HOME/logs/hadoop-*-namenode-*.log
$HADOOP_HOME/logs/hadoop-*-datanode-*.log
常见错误:
Incompatible clusterIDsDirectory not foundPermission denied| 问题 | 原因 |
|---|---|
| 无 DataNode | 多次格式化 NameNode |
| 无法访问 HDFS | fs.defaultFS 配置错误 |
| 权限错误 | 使用 root 启动 Hadoop |
| 端口不通 | 防火墙未关闭 |
✅ 建议:
systemctl stop firewalld
✅ jps 有 NameNode / DataNode
✅ hdfs dfs -ls / 正常
✅ 能 put / cat / rm
✅ Web UI 能看到 Live Nodes
✅ 日志无 ERROR
如果你愿意,可以把你的 Hadoop 版本、报错信息或配置文件贴出来,我可以帮你精准定位问题。