温馨提示×

Ubuntu Hadoop 怎样进行维护

小樊
31
2025-12-12 21:16:14
栏目: 智能运维

Ubuntu 上 Hadoop 的维护要点

一 日常巡检与监控

  • 组件与进程健康:在各节点执行jps,确认存在并稳定运行的关键进程:NameNode、DataNode、ResourceManager、NodeManager(按需还有JobHistoryServer)。异常退出或反复重启需优先排查日志。
  • Web UI 巡检:定期访问 HDFS NameNode UI:http://:9870YARN ResourceManager UI:http://:8088,关注集群摘要、节点数、容量、不健康节点、应用排队与失败情况。
  • 命令行巡检:使用 hdfs dfsadmin -report 查看 Live datanodes、容量与剩余空间;使用 yarn application -list/-status /-kill 管理应用生命周期。
  • 日志与告警:组件日志位于 $HADOOP_HOME/logs/,建议接入集中式日志与告警(如 Ganglia、Ambari、Nagios、Zabbix 等)实现可视化与阈值告警。

二 常规维护操作

  • 启停集群:按顺序执行 start-dfs.shstart-yarn.sh 启动;维护窗口内使用 stop-yarn.shstop-dfs.sh 停止,停止后用 jps 复核进程已退出。
  • 安全停止作业:优先使用 yarn application -kill 结束异常或长时间运行的应用,避免直接 kill 进程导致状态不一致。
  • 目录与空间治理:例行清理临时与无用数据,结合 hdfs dfs -rm/-rmdir 与配额管理;对 HDFS 容量告警 及时扩容或清理。
  • 配置与变量复核:确保 JAVA_HOME 正确、环境变量在 ~/.bashrc/etc/profile 中持久化(如 HADOOP_HOME、PATH),变更后 source 使其生效。

三 备份恢复与升级变更

  • 配置与元数据备份:定期备份 $HADOOP_HOME/etc/hadoop/ 与关键配置;对 NameNode 元数据 实施离线或联机备份策略(如定期拷贝 dfs.namenode.name.dir 目录),并演练恢复流程。
  • 数据与作业历史:对关键 HDFS 目录 实施定期快照或离线拷贝;启用并备份 JobHistory Server 数据,保障审计与问题复盘。
  • 变更与升级:变更前在测试环境验证,变更窗口内按“停应用→停服务→备份→变更→启动→验证”的顺序执行;跨版本升级遵循官方升级指南并充分回归测试。

四 常见故障排查清单

  • 节点未注册或 Live datanodes 为 0:检查 /etc/hosts、DNS、SSH 免密 与防火墙策略,确保各节点间端口与通信正常;必要时在 伪分布式/分布式 切换后清理 Hadoop 临时目录 并重新 hdfs namenode -format 再启动。
  • 命令未找到:核查 JAVA_HOME、HADOOP_HOME、PATH 是否配置并在当前会话 source 生效。
  • 端口访问异常:确认 9870/8088 等端口在节点与访问端均未被阻断,防火墙或安全组策略已放行相关端口。
  • 应用异常或队列阻塞:用 yarn application -list/-status 定位问题应用,必要时 -kill 后重提;结合 JobHistory 分析失败原因。

五 性能与容量优化

  • 硬件与网络:优先保障 内存、CPU、磁盘 I/O节点间网络带宽;计算密集与存储密集角色可适度分离。
  • HDFS 参数:结合业务访问模式调整 dfs.blocksize(默认 128MB,可按大文件/小文件负载调整)、dfs.replication(默认 3,权衡可靠性与存储成本);优化 NameNode/DataNode 处理线程与 GC 减少延迟与抖动。
  • 数据布局与压缩:提升 数据本地性、减少跨节点传输;对中间/落盘数据启用 Snappy/LZO 等压缩降低网络与存储开销。
  • 小文件治理:合并小文件、使用 HAR 归档冷数据,减轻 NameNode 元数据压力。
  • 监控驱动调优:以 Ganglia、Ambari、Nagios、Zabbix 等监控指标为依据,持续评估并微调 YARN 与 HDFS 关键参数。

0