场景目标
建立覆盖 NameNode、JournalNode、ResourceManager 与工作节点的巡检清单;对容量、块健康和队列至少各保存一份带时间戳的证据;在数据冗余和队列容量满足条件时完成一个非核心节点的受控维护,验证关键作业、数据读取和冗余恢复,并交接未关闭风险。
大数据运维 · 高级
结合 HDFS 块健康、节点容量与 YARN 队列证据,建立巡检、监控、单节点维护和恢复验收流程。
建立覆盖 NameNode、JournalNode、ResourceManager 与工作节点的巡检清单;对容量、块健康和队列至少各保存一份带时间戳的证据;在数据冗余和队列容量满足条件时完成一个非核心节点的受控维护,验证关键作业、数据读取和冗余恢复,并交接未关闭风险。
按实际 Hadoop 3.x 发行版核对命令、JDK 和管理接口;记录 HDFS HA、JournalNode、ZooKeeper 及 YARN 调度器配置,发行版扩展需使用对应文档。准备只读巡检身份、必要的节点管理权限和有效的 Kerberos 票据;确认机架分布、可用副本、队列余量以及单节点退出后的重复制空间。保存核心配置、节点清单、元数据备份与已验证的数据恢复记录,不把副本当作独立备份。窗口避开关键批次作业,单节点试点需要数据与计算负责人在线。预计 300 分钟覆盖首轮巡检和小范围维护,不含采购、集群扩容、大规模重复制与长周期容量观察。
把 HDFS 元数据、数据块与 YARN 资源调度分开阅读:客户端直接读写 DataNode,作业由 ApplicationMaster 协调执行;维护需要同时满足数据副本和队列容量条件。
点击组件,在图下方查看职责;连线编号对应流向解读。小屏可横向滚动,或直接展开文字说明。
客户端请求文件与块位置元数据,业务数据块本身不流经 NameNode。
客户端根据元数据访问 DataNode;图中聚合多个数据节点,未展开具体写入复制管线。
NameNode 管理块放置与复制,DataNode 心跳、块报告等返回关系在此简化省略。
作业提交进入 YARN 控制路径,需核对队列、配额、资源请求和业务窗口。
ApplicationMaster 请求资源后由 ResourceManager 返回分配结果,本连线强调调度职责。
ApplicationMaster 与获分配节点的 NodeManager 协调启动及监控任务容器。
通过实际启用的端点或适配器观测角色、容量和块健康,并与原生命令抽样比对。
观测队列和应用状态,采集失败与真实资源不足分别呈现。
查询存储与计算侧同时间段趋势,为单节点维护提供可复核证据。
DataNode 与 NodeManager 共置时,退出节点会同时减少存储副本与计算容量;不能只看磁盘健康或只看队列资源。
图中未展开的主备、JournalNode 和机架关系仍是前置条件。同故障域不可并行维护,副本或调度不满足时不能强制退出。
数据删除、逻辑损坏与整个故障域受损需要独立恢复路径;全量 fsck、均衡和退役还需另行评估负载。
图解是本站基于官方资料整理的逻辑参考;实施前仍需核对实际部署版本、组件支持范围与变更审批。
适用于已有 HDFS 与 YARN、具备明确主备角色和节点责任人的 Hadoop 集群。以 Hadoop 原生命令和管理接口采集事实,Prometheus 与 Grafana 汇总运行趋势,Ansible 执行审阅过的只读巡检与单节点维护任务。
不用于新建集群、直接修复损坏文件或在主备状态不明时强制切换。HDFS 副本和快照不等于异地备份,安全模式也不是可随意关闭的故障开关。大目录的全量 fsck、均衡和批量退役可能产生额外负载,应按独立窗口和容量评估执行。
核心角色和故障域清晰,缺失块与损坏文件均有解释和处置工单,容量及队列异常可关联到节点或作业;一次非核心单节点维护结束后,副本、调度、关键作业与告警恢复至约定范围,记录每项实际耗时和业务影响。
确认集群逻辑名称、HDFS 主备、JournalNode 和 YARN 主备角色,核对节点、机架、磁盘及调度器清单,避免将 SecondaryNameNode 误认为热备。记录最近变更、关键作业窗口、数据负责人和备份位置,检查管理身份与票据有效性。先明确可维护的非核心节点及禁止同时操作的故障域,主备状态或仲裁组件异常时暂停维护,优先处理控制面健康。
资产清单与实际角色一致,管理入口、票据和必要权限可用;核心作业及数据有负责人,备份记录可定位。试点节点不承载未识别的核心角色,维护前不存在未说明的主备或仲裁异常。
此阶段只核对清单,不切换主备或重启服务。若角色、故障域或恢复资料不完整,取消本次节点维护并补齐证据;发现控制面故障时转入相应预案,保留当前状态供协同排查。
先读取集群与 DataNode 容量报告,区分总可用空间、节点倾斜及非 HDFS 占用,再查看丢失块、副本不足和退役状态。路径检查只选已确认的小范围关键目录,低峰运行并限制频率;示例路径需替换为实际获准目录。下列命令不含修复选项,不能附加删除、移动或触发重复制参数,也不要未经评估直接扫描整个命名空间。
hdfs dfsadmin -report
hdfs fsck /data/approved-sample -files -blocks报告覆盖预期 DataNode,集群总量与节点明细可以解释;关键路径读取与块检查结果已保存。缺失块、副本不足及严重容量倾斜均有处置结论,单节点维护后的余量满足预定安全边界。
检查耗时或 NameNode 负载异常时停止本轮扫描并缩小路径,保留已完成输出。发现块丢失时停止维护,不运行删除或修复命令掩盖问题;由数据负责人确认可用副本与恢复路径。
结合 NodeManager 健康、队列容量和应用状态判断计算侧风险,区分节点离线、队列上限、用户配额、资源请求过大与容器启动失败。应用处于 ACCEPTED 不等同于计算资源整体耗尽,应核对其队列、资源请求和调度诊断。以下只读命令用于建立节点与应用基线,选择具体应用后再检查诊断与脱敏日志,不在巡检阶段批量终止作业。
yarn node -list -all
yarn application -list -appStates ACCEPTED,RUNNING关键应用、队列和节点健康能相互对应,排队应用具有可解释的调度原因;试点节点退出后的剩余资源满足关键作业需要。保留应用标识、队列水位和诊断时间,避免只记录总 CPU 使用率。
此步骤不修改队列或终止应用,查询异常时停止高频采集并使用已有管理界面核对。若队列已满或关键作业存在失败风险,取消节点维护,由调度与作业负责人先处置资源问题。
按控制面、存储、计算、关键作业四层接入已验证指标端点,核对采集账号和接口暴露范围。看板关联主备角色、JVM 与 RPC、容量和块健康、队列等待与作业失败,同时观察采集器自身状态。每项告警附上节点、队列或作业入口,缺失块和核心角色异常优先升级;容量阈值结合增长率和维护所需余量设定,不直接照搬固定百分比。
各层关键指标连续更新,并与原生命令同时间段抽样一致;采集失联与真实服务异常可区分。告警责任组、处置入口和升级条件完整,维护时段能从看板还原节点与队列变化。
新增采集影响核心角色时撤回最近端点与频率调整,恢复既有规则和看板。保持原有关键告警可用,不以静默整套集群监控代替维护降噪;指标无法解释时先修正来源再继续。
将已核对的只读检查整理为 Ansible 任务,设置目标分组、有限并发、单条超时和失败汇总,避免全节点同时执行高开销命令。巡检先检查核心角色,再看存储与节点,最后关联队列和关键作业;每项输出带主机和时间,认证信息不进入报告。对容量逼近、磁盘故障、副本不足和队列积压分别指定处置手册,涉及删除、均衡或退役的动作独立审批和试点。
单节点执行结果与人工检查一致,批次没有写操作和失控并发;每个异常能追踪到原始证据及责任组。超时和权限失败被标为未完成,而非健康,巡检不会自动执行高风险修复。
发现负载、范围或输出异常时停止后续批次并收集已运行任务,恢复本次调整的采集频率。只读检查不应更改服务状态;若发现任务带有副作用,停用该任务并核对受影响节点。
在数据健康、剩余副本与队列容量确认后,选择一个非核心节点,按本发行版支持的维护或退役流程逐步退出服务。先协调 NodeManager 排空或迁移作业,再核实 DataNode 对副本和数据可用性的影响;不能仅因超时就强制停止未满足退出条件的节点。完成计划维护后逐项恢复服务,观察节点重新注册、块报告、容器调度和关键作业,期间不并行维护同故障域其他节点。
节点退出前满足约定的数据与作业条件,过程未新增不可解释的缺失块;恢复后节点身份、块报告与调度状态正常。关键路径可读,关键作业状态和告警恢复,实际维护影响有完整记录。
退出条件未满足时取消维护并保持节点在线;已退出后按原配置恢复该节点服务与调度资格。若副本或队列不能收敛,停止后续维护并优先保全数据,不强制离开安全模式或批量重启。
重复核心角色、HDFS 与 YARN 的相同检查,对比维护前后容量、块状态、节点健康和关键作业,观察重复制或积压是否仍在收敛。将短时通过项与需高峰或次日批次确认的项目分别记录,交接巡检频率、阈值依据、恢复入口和未关闭风险。依据实际增长规划扩容或数据治理,并约定下次单节点维护前必须重新评估副本与计算余量。
维护前后证据可对应,未收敛项目具有趋势、责任人与截止时间;核心角色和关键作业无新增未解释异常。接班人员能从报告定位到节点或应用,并找到维护恢复步骤与备份记录。
验收未通过时保持当前已恢复节点在线并冻结后续维护,按具体异常恢复最近单项配置。数据或副本问题交由恢复预案处理,不以回滚全量配置替代数据检查,完成复核后再重新排期。