在 Debian 上“修复 Hadoop”通常取决于具体故障现象。下面我按最常见问题 → 排查与修复方法给你一个系统性的修复指南。如果你能补充报错信息,我可以更精确帮你定位。
先搞清楚你用的是哪种模式:
echo $HADOOP_HOME
常见模式:
不同模式修复方式略有不同。
Debian 对 Java 路径很敏感。
java -version
如果没有 Java:
sudo apt update
sudo apt install openjdk-11-jdk
设置 JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
写入:
nano ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc
⚠️ Hadoop 3.x 推荐 Java 8 或 11,不要混用
cat $HADOOP_HOME/logs/hadoop-*-namenode-*.log
cat $HADOOP_HOME/logs/hadoop-*-datanode-*.log
常见错误:
Incompatible clusterIDsNameNode is not formattedAddress already in use报错类似:
NameNode is not formatted
修复:
hdfs namenode -format
⚠️ 会清空 HDFS 数据,仅第一次或测试环境使用
报错:
Incompatible clusterIDs
修复方法(测试环境):
rm -rf /tmp/hadoop-*
然后重新格式化:
hdfs namenode -format
start-dfs.sh
伪分布式必须能 ssh localhost。
sudo apt install openssh-server
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
测试:
ssh localhost
netstat -tunlp | grep 9000
或:
ss -tunlp | grep 9000
杀掉占用进程:
kill -9 PID
Hadoop 版本差异:
| Hadoop 版本 | Web UI |
|---|---|
| 2.x | http://localhost:50070 |
| 3.x | http://localhost:9870 |
检查:
jps
应至少看到:
NameNode
DataNode
SecondaryNameNode
Hadoop 对 hostname 很敏感。
hostname
修改:
sudo nano /etc/hostname
并确保:
sudo nano /etc/hosts
有:
127.0.0.1 localhost
127.0.1.1 your-hostname
sudo chown -R $USER:$USER $HADOOP_HOME
java -version
ssh localhost
jps
hdfs namenode -format
start-dfs.sh
start-yarn.sh
请贴出以下信息之一:
jps 输出start-dfs.sh 的完整报错我可以直接告诉你 哪一行配置错了,怎么改 ✅