ubuntu

Ubuntu HDFS与YARN关系解析

小樊
46
2025-10-16 19:43:24
栏目: 智能运维

HDFS与YARN的角色定位
HDFS(Hadoop分布式文件系统)是Hadoop生态的存储基石,核心功能是通过NameNode(主节点)管理文件系统元数据(如文件目录结构、文件与数据块的映射关系),由DataNode(工作节点)实际存储数据块(默认128MB/块),并通过多副本机制(默认3副本)保证数据高可用。YARN(Yet Another Resource Negotiator)是Hadoop生态的资源管理与调度中枢,核心功能是通过ResourceManager(全局主节点)接收应用资源请求、统一分配集群资源(CPU、内存等),由NodeManager(每个节点的代理)监控本节点资源使用情况并启动/销毁容器(Container,资源抽象单元),通过ApplicationMaster(每个应用的实例)协调应用的资源申请、任务调度与进度监控。

协同工作机制:从作业提交到结果输出
HDFS与YARN的协同以“用户提交数据处理作业”为起点,遵循“数据存储-资源调度-任务执行-结果反馈”的闭环流程:

  1. 作业提交:用户通过Hadoop命令行或编程接口(如Java API)提交作业(如MapReduce、Spark任务)到YARN的ResourceManager。
  2. 资源调度:ResourceManager接收请求后,启动对应的ApplicationMaster(如MapReduce的AM),由其向RM申请作业所需的资源(如“需要2个容器,每个容器分配2核CPU、4GB内存”)。
  3. 容器启动:ResourceManager根据集群资源状况,将资源分配给NodeManager,NodeManager在本节点上启动容器,并在其中运行ApplicationMaster。
  4. 任务分发与执行:ApplicationMaster向ResourceManager申请运行具体任务(如Map任务、Reduce任务)的容器,NodeManager启动容器并执行任务。任务执行过程中,数据从HDFS读取(如Map任务读取HDFS中的输入文件块),处理完成后中间结果或最终结果写回HDFS(如Reduce任务将汇总结果写入HDFS的指定目录)。
  5. 故障恢复:若NodeManager故障,RM会将其资源重新分配给其他节点;若ApplicationMaster故障,RM会重新启动新的AM,确保任务可靠性。

关键交互细节:数据与资源的联动

Ubuntu环境下的配置与启动要点
在Ubuntu上部署HDFS与YARN时,需通过配置文件明确二者的协同关系:

0
看了该问题的人还看了