Ubuntu 上 Hadoop 运行出错的快速排查与修复
一 快速自检清单
二 常见错误与对应修复
报错:Error: JAVA_HOME is not set and could not be found
修复:在 $HADOOP_HOME/etc/hadoop/hadoop-env.sh 中显式设置 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64,保存后重启服务。
报错:command not found: hadoop / yarn
修复:确认 HADOOP_HOME 与 PATH 已导出(含 $HADOOP_HOME/bin:$HADOOP_HOME/sbin),执行 source ~/.bashrc 后重试。
报错:pdsh@xxx: localhost: Connection refused(启动 DFS 时)
修复:在 /etc/profile 加入 export PDSH_RCMD_TYPE=ssh 并 source /etc/profile,使用 SSH 方式分发命令。
报错:Attempting to operate on hdfs namenode as root … but there is no HDFS_NAMENODE_USER defined
修复:在 sbin/start-dfs.sh 与 sbin/stop-dfs.sh 顶部加入(按实际用户调整):
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
注意不同版本键名差异(旧版可能使用 HADOOP_SECURE_DN_USER)。
报错:Does not contain a valid host:port authority: hdfs://…
修复:检查 /etc/hosts 与主机名,主机名中不要包含 “_” 或 “.”,必要时改为中划线风格并重新配置 SSH 免密。
页面打不开或端口不对:访问 http://localhost:50070 失败
修复:Hadoop 3.x 的 NameNode Web UI 默认端口为 9870,请访问 http://localhost:9870。
命令不存在或已变更:如 hadoop dfs -mkdir input 失败
修复:Hadoop 3.x 推荐使用 hdfs dfs 系列命令,例如:hdfs dfs -mkdir -p /user/<你的用户名>。
权限或目录不存在:如 Permission denied / No such file or directory
修复:确保 Hadoop 目录与数据目录 归属正确(如 sudo chown -R
三 分布式与权限场景的要点
四 高效定位与求助信息准备