温馨提示×

CentOS Hadoop 运维有哪些要点

小樊
39
2025-12-31 12:27:33
栏目: 智能运维

CentOS 上 Hadoop 运维要点

一 基础环境与集群前提

  • 保持系统与安全基线:使用受支持的 CentOS 版本或规划迁移至 Rocky Linux / RHEL / Ubuntu;安装并固定 Java 版本,禁用不必要服务,规范 umask 与目录权限。
  • 时间同步与健康基线:全集群启用 NTP,节点间时间偏差建议不超过 30 秒;按需配置 DNS / 主机名解析SSH 免密,便于批量运维。
  • 网络与防火墙:规划 管理网/数据网 分离,放通 HDFS/YARN 相关端口(如 9870/8088 等),避免业务与管理互相干扰。
  • 高可用与安全:部署 HA NameNode + ZooKeeper;启用 Kerberos 认证与 ACL 权限控制,最小化暴露面。

二 日常监控与健康检查

  • 命令行巡检:
    • HDFS:hdfs dfsadmin -report(容量与 DataNode 状态)、hdfs fsck /(完整性)、hdfs balancer -t 10%(均衡阈值 10%)。
    • YARN:yarn node -list(节点状态)、yarn logs -applicationId <app_id>(作业日志)。
  • Web 界面:
    • NameNode:http://:9870;ResourceManager:http://:8088
  • 第三方监控:
    • Ambari / Cloudera Manager(集群可视化与告警)、Ganglia(性能趋势)、Prometheus + Grafana(指标采集与可视化)、Zabbix(企业级监控)、JMX(如 jconsole/VisualVM 连接 NameNode/DataNode 的 JMX 端口)。

三 配置与性能优化

  • 关键参数:
    • HDFS:dfs.replication(副本数)、dfs.blocksize(块大小)、dfs.namenode.handler.count(NameNode 并发)、dfs.datanode.handler.count(DataNode 并发)。
    • YARN:根据业务与节点资源调整 容器内存/核数调度策略,减少抢占与排队。
  • 存储与容错:在容量与可靠性间平衡 副本纠删码(Erasure Coding);启用 HDFS 回收站 降低误删风险。
  • 垃圾回收与内存:结合负载特征优化 JVM GC 策略,避免 长 GC 暂停;为 NameNode/ResourceManager 合理分配堆内存。
  • 数据布局与访问:提升 数据本地性、减少 小文件 数量,优化 RPC/传输 与缓存策略。

四 备份恢复与容灾

  • 元数据备份:定期执行 hdfs dfsadmin -fetchImage fsimage.backup 获取 NameNode 镜像;结合 HAZooKeeper 实现故障自动切换。
  • 数据与配置:对 重要目录/表 使用 HDFS 快照;定期备份 配置文件关键脚本;验证恢复流程与 RPO/RTO
  • 可用性保障:规划 跨机架/跨机房 部署,完善 监控告警应急预案,定期演练故障切换与恢复。

五 扩容缩容与日常维护

  • 动态扩容:
    • 准备新节点(系统、网络、用户、SSH、JDK 一致);在 include/exclude 中增删节点;
    • 刷新 NameNodeResourceManager 节点列表;启动 DataNode/NodeManager
    • 执行 hdfs balancer -t 10% 均衡数据。
  • 优雅缩容:
    • exclude 标记退役节点并刷新;等待 复制/块恢复 完成;
    • 停止退役节点进程,更新 include/exclude/slaves 配置并再次刷新;执行均衡。
  • 日常维护:
    • 日志与临时目录清理(如 hadoop.tmp.dirmapred.local.dir);
    • 定期 文件系统检查块副本一致性 校验;
    • 规范 变更评审/灰度/回滚 流程,变更前在测试环境验证。

0