Ubuntu 上部署 HDFS 的常见错误与排查清单
一 启动与权限类错误
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
同时在 start-yarn.sh、stop-yarn.sh 顶部加入:YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
做法二:在 /etc/profile.d/hadoop-env.sh 或 /etc/profile 中导出变量并 source 使其生效。注意不同版本的键名差异,旧版 HADOOP_SECURE_DN_USER 已被 HDFS_DATANODE_SECURE_USER 取代。若以普通用户运行,则将上述变量中的 root 替换为对应用户名,并在所有节点保持一致。二 主机名与网络连通性错误
netstat -tlpn | grep 9000,应看到 0.0.0.0:9000 而非仅 127.0.0.1:9000。telnet localhost 9000 应成功;若仅本机(Windows)访问,Windows 也需 telnet <虚拟机IP> 9000。sudo ufw status,必要时 sudo ufw allow 9000 放行端口。三 配置与进程类错误
jps 检查 NameNode、DataNode、SecondaryNameNode 是否到位;浏览器访问 NameNode Web UI 在 Hadoop 3.x 为 http://hdfs namenode -format 后,clusterID 不一致会令 DataNode 启动失败。清理 NameNode 与 DataNode 的存储目录(如 /tmp/hadoop-*/dfs/ 下相关目录)后,重新格式化并启动;生产环境请改用持久化目录并定期备份元数据。四 权限与用户类错误
export HADOOP_USER_NAME=hadoop),或在代码中 System.setProperty("HADOOP_USER_NAME", "hadoop") 指定有权限的 HDFS 用户。上线前应恢复权限校验并按需设置目录 ACL/权限。