“Linux 上 Hadoop 报错”这个问题信息比较宽泛,我先给你常见原因分类 + 快速排查思路,你可以对照看看是哪一种;如果你能贴出具体报错信息,我可以精确帮你定位。
Hadoop 强依赖 JDK,错误包括:
command not found: javaUnsupported major.minor versionJAVA_HOME is not set✅ 检查:
java -version
echo $JAVA_HOME
which java
✅ 建议:
hadoop-env.sh 中显式设置:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
报错示例:
Permission denied (publickey,password)starting namenode, logging to ...localhost:✅ 解决:
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh localhost
常见文件:
core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml❌ 典型错误:
✅ 检查:
hdfs getconf -confKey fs.defaultFS
报错:
mkdir: Permission deniedCannot create directory /tmp/hadoop-*✅ 解决:
sudo chown -R $USER:$USER /usr/local/hadoop
mkdir -p ~/hadoop/tmp
报错:
Address already in useNameNode failed to start✅ 检查:
netstat -tunlp | grep 9000
报错:
No valid image found✅ 解决(仅第一次):
hdfs namenode -format
⚠️ 不要重复格式化
报错:
✅ 临时关闭:
systemctl stop firewalld
setenforce 0
请执行并贴出:
jps
cat $HADOOP_HOME/logs/hadoop-*-namenode-*.log | tail -50
或者直接把报错原文发我,我可以一步一步帮你修。
| 场景 | 可能原因 |
|---|---|
| 单机起不来 | JAVA_HOME / SSH |
| 集群起不来 | hosts / 防火墙 |
| HDFS 报错 | 未格式化 / 权限 |
| YARN 报错 | 端口冲突 |
| Web 打不开 | 防火墙 / 绑定 IP |
如果你愿意,可以告诉我:
我可以直接给你对应修复命令。