Debian 上 Hadoop 启动失败的原因有很多,常见原因和排查思路如下(按出现频率排序):
Hadoop 依赖 Java。
检查:
java -version
echo $JAVA_HOME
要求:
JAVA_HOME 必须在 hadoop-env.sh 中配置解决:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
并写入:
etc/hadoop/hadoop-env.sh
Hadoop 启动脚本通过 SSH 启动各节点。
检查:
ssh localhost
配置免密:
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
常见错误文件:
core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml典型错误:
fs.defaultFS 写错示例(core-site.xml):
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
第一次启动 HDFS 必须格式化。
hdfs namenode -format
⚠️ 不要重复格式化,否则会导致 DataNode 无法启动。
Hadoop 不能由 root 正常运行。
建议:
useradd hadoop
chown -R hadoop:hadoop /opt/hadoop
su hadoop
常见端口:
检查:
netstat -tunlp | grep 9000
启动失败后一定要看日志:
logs/
├── hadoop-*-namenode-*.log
├── hadoop-*-datanode-*.log
├── yarn-*-resourcemanager-*.log
| 错误 | 原因 |
|---|---|
JAVA_HOME is not set |
没配置 Java |
Permission denied (publickey) |
SSH 问题 |
DataNode not started |
NameNode 格式化重复 |
Cannot assign requested address |
IP 配置错误 |
如果你愿意,可以把具体报错日志或启动命令发出来,我可以帮你精准定位问题。