在 Debian 上运行 Hadoop 报错,原因很多,需要先看具体报错信息才能精确定位。下面我按“常见报错类型 → 可能原因 → 解决办法”给你一个实用排查清单,你可以对照看看。
Hadoop 强依赖 JDK(不支持 JRE)
java -version
✅ 正常应类似:
openjdk version "1.8.0_xxx"
❌ 常见问题:
解决:
sudo apt install openjdk-8-jdk
并设置:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Permission denied (publickey,password).
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh localhost
Error: JAVA_HOME is not set
Cannot find configuration directory
etc/hadoop/hadoop-env.sh
etc/hadoop/core-site.xml
etc/hadoop/hdfs-site.xml
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
core-site.xml 示例:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
NameNode is not formatted
hdfs namenode -format
⚠️ 只格式化一次,否则数据全丢
Address already in use
netstat -tunlp | grep 9000
hdfs-site.xml 端口sudo ufw disable
hostname
/etc/hosts 必须有:
127.0.0.1 localhost
127.0.1.1 你的主机名
你可以直接贴:
例如:
Debian 11 + Hadoop 3.3.6
执行start-dfs.sh报JAVA_HOME not set
我可以一步步帮你修 ✅