1. 简述Yarn集群的架构

YARN(Yet Another Resource Negotiator)是Hadoop 2.x引入的资源管理器,用于管理Hadoop集群中的资源和作业调度。YARN的架构设计使得Hadoop可以运行更多类型的应用程序,而不仅仅是MapReduce。以下是YARN集群的主要组件和架构:

  1. ResourceManager(资源管理器):
  • ResourceManager是YARN的主要组件之一,负责整个集群的资源管理和作业调度。
  • ResourceManager有两个主要组件:Scheduler(调度器)和 ApplicationsManager(应用程序管理器)。
  • Scheduler负责为提交的作业分配资源,并监控资源的使用情况。
  • ApplicationsManager负责接收来自客户端的作业提交请求,并为每个作业分配一个ApplicationMaster。
  1. NodeManager(节点管理器):
  • NodeManager是运行在集群中每个节点上的代理,负责本地资源的管理和任务的监控。
  • NodeManager负责与ResourceManager通信,报告节点的资源使用情况,并接收来自ResourceManager的任务分配。
  1. ApplicationMaster(应用程序主管):
  • ApplicationMaster是运行在集群中每个作业所分配的节点上的进程,负责管理该作业的执行过程。
  • 每个作业都有一个对应的ApplicationMaster,它负责与ResourceManager交互,请求资源、监控任务的执行进度,并处理任务执行过程中的错误。
  1. Container(容器):
  • Container是YARN中的基本单位,用于表示分配给作业的资源,如CPU、内存等。
  • 每个任务都运行在一个容器中,NodeManager负责启动和监控容器的执行。
  1. ResourceManager和NodeManager通信:
  • ResourceManager和NodeManager之间通过心跳机制保持通信。
  • NodeManager会定期向ResourceManager发送心跳,报告节点的资源使用情况和容器状态。
  • ResourceManager通过心跳机制监控节点的健康状态,并根据需要进行资源重新分配。

总体而言,YARN集群的架构是一个分布式资源管理系统,通过ResourceManager和NodeManager协同工作,实现对集群资源的有效管理和作业调度,支持多种类型的应用程序运行在Hadoop集群中。

2. Yarn 的任务提交流程是怎样的?

YARN的任务提交流程涉及到客户端、ResourceManager、NodeManager和ApplicationMaster之间的协作。以下是一般情况下YARN任务提交的流程:

  1. 客户端提交作业:
  • 用户使用命令行工具(如yarn命令)或编程接口(如YARN API)提交作业到YARN集群。
  • 客户端会向ResourceManager提交作业的描述信息,包括作业的名称、资源需求、运行命令等。
  1. ResourceManager接收作业请求:
  • ResourceManager接收到作业请求后,将请求转发给ApplicationsManager。
  1. ApplicationsManager接收作业请求:
  • ApplicationsManager负责接收来自客户端的作业请求。
  • 它为每个作业分配一个唯一的作业ID,并启动一个新的ApplicationMaster来管理该作业。
  1. 启动ApplicationMaster:
  • ResourceManager将作业的描述信息发送给NodeManager所在的节点,请求启动ApplicationMaster。
  • NodeManager收到请求后,启动一个新的进程,即ApplicationMaster,以便管理该作业的执行过程。
  1. ApplicationMaster向ResourceManager注册:
  • ApplicationMaster启动后,首先会向ResourceManager注册自己。
  • 注册过程中,ApplicationMaster会提供作业的描述信息,包括作业ID、资源需求等。
  1. 资源分配给作业:
  • ResourceManager收到ApplicationMaster的注册请求后,根据作业的资源需求和集群的资源情况,为该作业分配适当的资源(如CPU、内存等)。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
img

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-efV59w1D-1712539826815)]

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐