Debian Hadoop 故障排查步骤
导读:Debian Hadoop 故障排查步骤 一 快速定位流程 检查进程:运行 jps,确认 NameNode、DataNode、ResourceManager、NodeManager 等关键进程是否存在且数量正确。 查看日志:实时查看 $H...
Debian Hadoop 故障排查步骤
一 快速定位流程
- 检查进程:运行 jps,确认 NameNode、DataNode、ResourceManager、NodeManager 等关键进程是否存在且数量正确。
- 查看日志:实时查看 $HADOOP_HOME/logs/*.log,优先关注 ERROR/Exception 及最近重启后的首次报错。
- 系统侧日志:用 tail -f /var/log/syslog、dmesg、journalctl -xe 捕捉内核、系统服务与启动脚本报错。
- 资源与负载:用 top/htop、iostat、vmstat 排查 CPU、内存、磁盘 I/O 瓶颈。
- 网络连通:对集群内各节点执行 ping,并用 netstat -tulpen 检查 端口监听/连接状态。
- 配置核对:复核 core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 关键参数与 JAVA_HOME/HADOOP_HOME 环境变量。
- Web UI:访问 NameNode 50070/9870 与 ResourceManager 8088 查看集群健康、节点列表与作业状态。
- 服务处置:必要时按顺序重启(先停后启),如 stop-all.sh → start-all.sh 或分别执行 start-dfs.sh / start-yarn.sh。
- 变更前务必备份数据与配置,避免不可逆损失。
二 常见故障与处理要点
- NameNode 无法启动或反复格式化:检查 dfs.namenode.name.dir 目录权限与磁盘空间;确认 clusterID 在 VERSION 文件中一致;避免重复格式化,必要时先备份元数据目录再操作。
- DataNode 未注册或频繁掉线:核对 dfs.datanode.data.dir 权限/空间;确认 slaves/workers 主机名与 /etc/hosts 或 DNS 解析一致;排查 网络丢包/防火墙;查看 DataNode 日志 中的连接拒绝或 RPC 超时。
- 端口冲突:用 netstat -tulpen | grep < 端口> 定位占用进程,修改 yarn-site.xml / mapred-site.xml 中的端口或释放占用。
- 权限与以 root 启动问题:避免直接用 root 运行,创建专用 hadoop 用户并配置 sudo;修复 /data/hadoop/tmp 等目录属主属组与权限,防止因权限错误导致 Permission denied。
- SSH 免密失败:典型报错 Permission denied (publickey,gssapi-keyex,gssapi-with-mic);检查 ~/.ssh/authorized_keys 内容、600/700 权限与 sshd_config 的 PubkeyAuthentication 设置。
- 安全与防火墙:启用 Kerberos 时确保 kinit 有效、时间同步(NTP)与 keytab 权限;开放 8020/9000(HDFS)、8088(YARN)、50070/9870(NameNode UI) 等必要端口。
- 作业异常与数据倾斜:通过 yarn logs -applicationId < app_id> 获取 AM/Container 日志;结合 Web UI 的 Failed/Killed 任务与 Counter 分析数据倾斜与资源不足。
三 关键命令清单
- 进程与资源:
- 进程列表:jps
- 资源监控:top/htop、iostat -x 1、vmstat 1
- 日志与系统:
- Hadoop 日志:tail -f $HADOOP_HOME/logs/*.log
- 系统日志:tail -f /var/log/syslog、dmesg、journalctl -xe
- 网络与端口:
- 连通性:ping
- 监听与连接:netstat -tulpen | grep < 端口>
- HDFS 与 YARN:
- 目录与空间:hdfs dfs -df -h、hdfs dfs -du -h /path
- 作业日志:yarn logs -applicationId < app_id>
- 服务启停:
- 脚本方式:start-dfs.sh、start-yarn.sh、stop-all.sh
- 系统方式:systemctl restart servicename(如采用 systemd 管理的封装服务)
四 预防与优化建议
- 运行身份与环境:使用专用 非 root 用户运行 Hadoop,统一 JAVA_HOME/HADOOP_HOME 与目录权限,减少权限相关故障。
- 主机解析与 SSH:在 /etc/hosts 或 DNS 中维护 主机名—IP 映射,确保 SSH 免密 稳定;必要时配置 DNS 正向/反向解析 提升可追溯性。
- 系统资源与内核:提升 文件描述符/连接数(如 /etc/security/limits.conf),按需调整 内核网络/文件系统 参数,避免 “Too many open files/connection refused”。
- HDFS 与 YARN 参数:
- HDFS:dfs.namenode.handler.count、dfs.datanode.handler.count、dfs.block.size、fs.trash.interval
- YARN:yarn.nodemanager.resource.memory-mb、yarn.nodemanager.resource.cpu-vcores、yarn.scheduler.minimum-allocation-mb/maximum-allocation-mb
- JVM 与作业:结合节点内存合理设置 NameNode/DataNode/ResourceManager 的 JVM 堆;在作业侧启用 Combiner、提升 数据本地性、合理设置 压缩 与 shuffle 并行度,降低网络与 GC 开销。
- 监控与压测:使用 Web UI 与系统监控工具持续观测;通过 TestDFSIO 等工具做 读写压测 验证调优成效。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Hadoop 故障排查步骤
本文地址: https://pptw.com/jishu/789902.html
