调试 Debian 上的 Hadoop,通常可以按「分层排查」的思路来做:先确认系统/环境,再看 Hadoop 自身组件,最后看具体作业。下面给你一套实用调试流程(适合 Debian 10/11/12)。
Hadoop 对 Java 版本敏感:
java -version
设置 JAVA_HOME:
echo $JAVA_HOME
如未设置,编辑:
sudo nano /etc/profile.d/hadoop.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
Hadoop 对 hostname 非常敏感:
hostname
hostname -f
/etc/hosts 示例(伪分布式):
127.0.0.1 localhost
192.168.1.10 master
不要只写 127.0.1.1,容易导致 DataNode 注册失败。
ssh-keygen
ssh-copy-id localhost
ssh localhost
start-dfs.sh
start-yarn.sh
或:
start-all.sh
jps
正常应包含:
Hadoop 的“真相”都在日志里:
$HADOOP_HOME/logs/
常见文件:
hadoop-*-namenode-*.loghadoop-*-datanode-*.logyarn-*-resourcemanager-*.log实时查看:
tail -f $HADOOP_HOME/logs/hadoop-*-datanode-*.log
http://localhost:9870
http://localhost:8088
重点看:
日志常见:
Incompatible clusterIDs
解决:
rm -rf /tmp/hadoop-*/dfs/data/*
(仅测试环境)
Debian 默认用户不是 hadoop:
sudo chown -R $USER:$USER $HADOOP_HOME
ulimit -n
建议:
sudo nano /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
Unable to load native-hadoop library
可以忽略,或安装:
sudo apt install libssl-dev
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 2 5
yarn logs -applicationId application_xxxx
✅ 调试顺序:
jpscore-site.xml, hdfs-site.xml, yarn-site.xml)✅ 推荐工具:
tail -fjpsyarn logshdfs dfsadmin -report如果你愿意,可以告诉我:
我可以帮你逐行分析日志。