Hadoop-YARN
创始人
2024-11-14 19:34:52

简介

YARN是Hadoop的资源管理和作业调度系统,它将集群资源管理和作业调度/监控功能从Hadoop MapReduce的实现中分离出来,使得Hadoop可以支持除了MapReduce之外的其他数据处理模型。用户可以将各种服务框架部署在 YARN 上,由 YARN 进行统一地管理和资源分配。

重要组件

  1. Resource Manager (RM)

    • 在独立的机器上以后台进程的形式运行。它是整个集群资源的主要协调者和管理者,负责整个集群的资源管理和调度。
    • 处理客户端请求,将作业提交到集群,并根据资源情况分配作业到不同的节点上。
  2. Node Manager (NM)

    • 运行在集群中的每个节点上,负责管理单个节点的资源。
    • 监控节点上的容器使用情况,如内存、CPU等,并将其汇报给ResourceManager。
  3. Application Master (AM)

    • 每个作业都会启动一个Application Master,它负责与ResourceManager协商资源,并与NodeManagers通信以启动和监控任务。
    • AM还负责作业的生命周期管理,包括任务的调度、监控和状态报告。
  4. Client

    • 客户端应用程序,用于提交作业到YARN集群,并与Application Master交互以获取作业状态和结果。

工作流程

  1. 作业提交
    1. 客户端向集群提交作业,RM返回jobId和资源提交路径
    2. 客户端发送Jar包、配置信息等到指定路径(HDFS上)
    3. 客户端向RM发送执行作业请求
    4. RM接受到请求后会创建一个AM来管理该请求
  2. 作业初始化
    1. Application manager将job任务添加到资源调度器(Resourse Shecduler,存在于Resourse Manager)中,并且维护在一个队列里
    2. RM通知Application manager有空闲NM可以执行job
    3. Application manager调用NM开辟一个Container,并且启动Application Master,然后从指定路径(HDFS上)中获取,生成Task.
  3. 任务分配
    1. Application Master向RM申请运行Task的资源
    2. RM分配Task任务,NM创建一个Container用于执行Task
  4. 任务运行
    1. AM通知NM启动计算
    2. NM启动Task计算
    3. job执行完毕,AM向RM申请注销
  5. 作业完成 

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...