ubuntu

Ubuntu Hadoop集群故障排查技巧

小樊
49
2025-08-24 01:39:44
栏目: 智能运维

以下是Ubuntu Hadoop集群故障排查的核心技巧,涵盖从基础检查到进阶分析的步骤:

一、基础状态检查

  1. 进程状态
    使用jps命令查看NameNode、DataNode、ResourceManager等关键进程是否正常运行。
  2. 日志分析
    查看$HADOOP_HOME/logs目录下的日志文件,通过tail -fgrep "ERROR"定位异常信息,重点关注权限、端口冲突、配置错误等问题。
  3. 网络连通性
    • ping测试节点间网络连通性,确保IP配置正确且无丢包。
    • 检查防火墙规则,开放Hadoop所需端口(如50010、50020、8088等)。
    • 确认SSH免密登录配置正确,主节点可无密码访问从节点。

二、核心组件排查

  1. HDFS健康检查
    • 使用hdfs dfsadmin -report查看DataNode状态,确认节点是否存活、磁盘空间是否充足。
    • 检查NameNode和DataNode的VERSION文件中clusterID是否一致,不一致时需手动同步或重新格式化。
    • 通过HDFS Web界面(http://namenode:50070)查看文件系统状态。
  2. YARN状态检查
    • yarn node -list查看NodeManager列表及状态,确认资源分配是否正常。
    • 访问ResourceManager Web界面(http://resourcemanager:8088)检查任务调度情况。

三、系统资源与配置

  1. 资源监控
    使用tophtopvmstat监控CPU、内存、磁盘I/O使用情况,识别性能瓶颈。
  2. 配置文件校验
    检查core-site.xmlhdfs-site.xmlyarn-site.xml等配置文件的参数正确性,重点关注路径、权限、端口等配置。

四、高级故障处理

  1. 权限与目录问题
    确保HDFS数据目录(如/tmp/hadoop-<user>/dfs)权限正确,通常需为hadoop用户所有。
  2. 版本与数据一致性
    若因多次格式化导致clusterID不一致,需删除DataNode数据目录并重新格式化NameNode(注意:会丢失数据)。
  3. 监控工具集成
    部署Ganglia、Prometheus等工具实时监控集群状态,结合ELK Stack集中分析日志。

五、常用命令速查表

场景 命令
查看进程 jps
查看日志 tail -f $HADOOP_HOME/logs/*.log
检查网络连通性 ping <节点IP>nc -zv <节点IP> <端口>
格式化NameNode hdfs namenode -format
重启服务 ./sbin/stop-all.sh + ./sbin/start-all.sh

参考来源

0
看了该问题的人还看了