首页主机资讯Hadoop于Linux上故障怎么排查

Hadoop于Linux上故障怎么排查

时间2025-11-19 14:54:03发布访客分类主机资讯浏览1477
导读:Linux上Hadoop故障排查实操手册 一 快速定位流程 先看进程:执行jps,核对关键进程是否存在(如NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager)。缺...

Linux上Hadoop故障排查实操手册

一 快速定位流程

  • 先看进程:执行jps,核对关键进程是否存在(如NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager)。缺进程优先查对应日志。
  • 再看服务健康:
    • HDFS:执行hdfs dfsadmin -report 查看容量、节点与块状态;必要时用hdfs dfs -ls / 验证访问。
    • YARN:执行yarn node -listyarn application -list 查看节点与应用。
  • 立刻查日志:到**$HADOOP_HOME/logs** 目录,用tail -f 实时看,或用grep “ERROR” 搜索错误关键字。
  • 直连 Web UI:访问 NameNode 50070ResourceManager 8088 观察集群与作业概况。
  • 若作业失败:用yarn logs -applicationId < app_id> 拉取 AM/Container 日志,定位失败阶段与异常堆栈。

二 环境与网络检查

  • 资源与磁盘:用df -h 检查数据盘与根分区剩余空间,用free -m 看内存,必要时清理或扩容。
  • 系统日志:查看dmesg/var/log/messages/var/log/syslog,捕捉内核、磁盘、OOM 等系统级异常。
  • 网络连通:节点间执行pingtraceroute;用netstat/ss 检查端口监听,确认服务端口可达。
  • 防火墙与安全组:放行 Hadoop 常用端口(如 8088、50010、50020 等),或开发环境临时关闭防火墙验证。
  • 主机名与解析:核对**/etc/hosts** 与 DNS,确保主机名可解析且各节点互相可达;SSH 免密登录需正确配置。

三 配置与权限核查

  • 配置文件:逐项核对core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 的地址、端口、路径与集群拓扑配置,确保各节点一致。
  • 环境变量:确认HADOOP_HOME、PATH、JAVA_HOME 设置正确,避免组件启动找不到 Java 或配置。
  • 目录权限与属主:HDFS 与本地数据/日志目录(如 dfs.datanode.data.dir、dfs.namenode.name.dir)属主与权限需与 Hadoop 运行用户一致,避免因权限导致无法读写或加锁失败。
  • 脚本与特殊字符:从 Windows 拷贝的脚本注意CRLF 与特殊字符,可能引发解析或路径错误。

四 常见故障与修复要点

症状 快速检查 修复建议
NameNode 无法启动 NameNode 日志;看 dfs.namenode.name.dir 目录权限/磁盘空间 若确认为元数据损坏且无备份,按流程备份后执行hadoop namenode -format 并重启;优先恢复备份而非贸然格式化
DataNode 未注册/容量 0 hdfs dfsadmin -report 显示 Configured Capacity: 0;查 DataNode 日志 核对 dfs.datanode.data.dir 路径、权限与磁盘空间;修正 /etc/hosts 主机名解析;确保节点间网络与端口可达
NameNode 处于 SafeMode 控制台或日志提示 Safe mode is ON 数据恢复完成后执行hdfs dfsadmin -safemode leave 退出安全模式
作业失败/容器异常 yarn logs -applicationId 查看 AM/Container 日志 依据日志定位失败阶段(如 AM 启动、资源申请、Container 拉取等),调整资源配置或修复应用代码/依赖
端口不通/节点间不通 netstat/ss 查监听;ping/traceroute 测连通;防火墙策略 开放必要端口(如 8088、50010、50020),修正安全组与防火墙规则,确保主机名解析一致
SecondaryNameNode 启动失败(锁文件) 日志出现 in_use.lock (Permission denied) 删除残留锁文件并以格式化时的同一用户重启;或检查目录权限与属主
磁盘满/Inode 耗尽 df -hdf -i 检查空间与 Inode 清理临时/无用数据,扩容磁盘或调整 HDFS 存储策略,必要时紧急释放空间以保障写入

五 性能与长期优化

  • 资源瓶颈:用top/htop、vmstat、iostat 观察 CPU、内存、I/O;结合 YARN 资源配置(如 yarn.nodemanager.resource.memory-mb、yarn.nodemanager.resource.cpu-vcores)与队列配额,避免资源争用。
  • 数据本地性与调度:尽量提升数据本地性,减少跨节点网络传输,降低作业延迟。
  • 监控与告警:部署 Ganglia、Prometheus、GrafanaAmbari/Cloudera Manager 做可视化监控与阈值告警,结合 ELK 集中分析日志。
  • 变更管理:版本问题难以定位时,优先升级/回滚到稳定版本;所有操作与参数变更留痕记录,便于回溯。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Hadoop于Linux上故障怎么排查
本文地址: https://pptw.com/jishu/751201.html
Hadoop在Linux中的存储怎样管理 Linux中Hadoop数据如何备份

游客 回复需填写必要信息