Ubuntu Hadoop 故障排查有哪些方法
导读:Ubuntu Hadoop 故障排查方法 一 快速定位流程 核对基础环境:执行java -version确认已安装;检查环境变量JAVA_HOME、HADOOP_HOME、PATH是否生效(建议写入**~/.bashrc或/etc/pro...
Ubuntu Hadoop 故障排查方法
一 快速定位流程
- 核对基础环境:执行java -version确认已安装;检查环境变量JAVA_HOME、HADOOP_HOME、PATH是否生效(建议写入**~/.bashrc或/etc/profile后执行source**使其生效)。
- 核对关键配置:重点查看core-site.xml、hdfs-site.xml、yarn-site.xml中的fs.defaultFS、dfs.replication、yarn.nodemanager.resource.memory-mb等核心项是否一致且合理。
- 查看进程与服务:在各节点执行jps确认NameNode、DataNode、ResourceManager、NodeManager等是否在位;异常时优先查看**$HADOOP_HOME/logs**下对应进程的日志。
- 网络与防火墙:确认节点间SSH免密可达,按需放行端口(如9000、9870、8088等),避免因访问被拒导致组件“起不来”或“看得见起不来”。
- 首次或异常后的一致性恢复:必要时对HDFS执行hdfs namenode -format(注意会清空元数据,生产谨慎),再按序启动start-dfs.sh与start-yarn.sh。
二 常见故障与处理要点
| 症状 | 快速检查 | 处理建议 |
|---|---|---|
| 启动报“JAVA_HOME is not set” | 查看hadoop-env.sh与系统变量 | 在hadoop-env.sh显式设置JAVA_HOME,并确认与系统一致 |
| jps无NameNode/DataNode | 查看**$HADOOP_HOME/logs** | 多为配置错误或目录权限问题;核对core-site.xml/hdfs-site.xml;必要时清理tmp并重新namenode -format |
| 从机只出现JPS而无DataNode | 对比主从core/hdfs配置、网络连通 | 修正从机配置与主机一致;排查SSH与防火墙;查看从机DataNode日志定位根因 |
| 访问50070失败 | 核对Hadoop 3.x端口变更 | Hadoop 3.x 的NameNode Web UI默认端口为9870(50070为2.x) |
| “hadoop: 未找到命令” | 检查PATH | 将**$HADOOP_HOME/bin加入PATH并持久化到~/.bashrc** |
| 执行HDFS命令报“No such file or directory: hdfs://…/user/< 当前用户> ” | 检查HDFS上用户目录 | 先执行hadoop fs -mkdir -p /user/$USER创建家目录 |
| 端口访问被拒或节点不通 | 检查ufw/iptables与监听 | 放行9000、9870、8088等端口;确认服务实际监听在0.0.0.0而非仅127.0.0.1 |
| “WARN util.NativeCodeLoader” | 查看native库加载 | 仅为告警,可在log4j.properties中将其设为ERROR以屏蔽 |
三 配置与权限核查清单
- 环境变量:在**~/.bashrc或/etc/profile中设置并导出JAVA_HOME、HADOOP_HOME、PATH**;执行source后验证echo $JAVA_HOME与echo $HADOOP_HOME。
- 关键配置:
- core-site.xml:确认fs.defaultFS(如hdfs://localhost:9000或hdfs://127.0.0.1:9000)。
- hdfs-site.xml:核对dfs.replication、dfs.datanode.data.dir等。
- yarn-site.xml:核对yarn.nodemanager.resource.memory-mb、yarn.nodemanager.resource.cpu-vcores。
- 目录与权限:确保Hadoop安装目录与HDFS数据目录归属正确、权限充足(如**/usr/local/hadoop与/data/hadoop**),避免因权限不足导致启动或写入失败。
- 主机名与地址:核对**/etc/hosts与workers**(或slaves)文件的主机名解析是否一致,避免“能起但互相不可达”。
四 日志与端口排障要点
- 日志优先:组件异常时,第一时间查看**$HADOOP_HOME/logs下对应进程的.log与.out**,从Caused by定位根因。
- 进程核验:在各节点执行jps,快速判断缺失的组件(如NameNode/DataNode/ResourceManager/NodeManager)。
- 端口与服务:
- 常见端口:9000(HDFS RPC)、9870(NameNode Web UI,Hadoop 3.x)、8088(YARN Web UI)、50010/50020/50075/50090(DataNode相关)。
- 使用netstat -tulpen | grep < 端口> 或ss -lntp | grep < 端口> 确认监听地址与进程;必要时用curl/wget测试访问。
- 防火墙与安全组:在Ubuntu上用ufw放行必要端口,云环境同步放通安全组规则,避免“本机能访问、跨机访问被拒”。
五 数据一致性恢复与重置
- 适用场景:配置变更、异常关机或DataNode目录变更后,出现ClusterID不一致、块报告异常等。
- 操作步骤:
- 停止集群:stop-dfs.sh与stop-yarn.sh;
- 备份并清理dfs.namenode.name.dir与dfs.datanode.data.dir指向的目录(或按你的实际tmp/数据目录清理);
- 重新格式化:hdfs namenode -format;
- 启动集群:start-dfs.sh与start-yarn.sh;
- 用hdfs dfsadmin -report与jps核验DataNode是否注册成功。
- 风险提示:格式化会清空HDFS元数据与数据,务必先做好备份与评估。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Hadoop 故障排查有哪些方法
本文地址: https://pptw.com/jishu/767264.html
