Yarn面试重点(1),2024年最新2024年大数据开发网络编程总结篇
外链图片转存中…(img-efV59w1D-1712539826815)]
1. 简述Yarn集群的架构
YARN(Yet Another Resource Negotiator)是Hadoop 2.x引入的资源管理器,用于管理Hadoop集群中的资源和作业调度。YARN的架构设计使得Hadoop可以运行更多类型的应用程序,而不仅仅是MapReduce。以下是YARN集群的主要组件和架构:
- ResourceManager(资源管理器):
- ResourceManager是YARN的主要组件之一,负责整个集群的资源管理和作业调度。
- ResourceManager有两个主要组件:Scheduler(调度器)和 ApplicationsManager(应用程序管理器)。
- Scheduler负责为提交的作业分配资源,并监控资源的使用情况。
- ApplicationsManager负责接收来自客户端的作业提交请求,并为每个作业分配一个ApplicationMaster。
- NodeManager(节点管理器):
- NodeManager是运行在集群中每个节点上的代理,负责本地资源的管理和任务的监控。
- NodeManager负责与ResourceManager通信,报告节点的资源使用情况,并接收来自ResourceManager的任务分配。
- ApplicationMaster(应用程序主管):
- ApplicationMaster是运行在集群中每个作业所分配的节点上的进程,负责管理该作业的执行过程。
- 每个作业都有一个对应的ApplicationMaster,它负责与ResourceManager交互,请求资源、监控任务的执行进度,并处理任务执行过程中的错误。
- Container(容器):
- Container是YARN中的基本单位,用于表示分配给作业的资源,如CPU、内存等。
- 每个任务都运行在一个容器中,NodeManager负责启动和监控容器的执行。
- ResourceManager和NodeManager通信:
- ResourceManager和NodeManager之间通过心跳机制保持通信。
- NodeManager会定期向ResourceManager发送心跳,报告节点的资源使用情况和容器状态。
- ResourceManager通过心跳机制监控节点的健康状态,并根据需要进行资源重新分配。
总体而言,YARN集群的架构是一个分布式资源管理系统,通过ResourceManager和NodeManager协同工作,实现对集群资源的有效管理和作业调度,支持多种类型的应用程序运行在Hadoop集群中。
2. Yarn 的任务提交流程是怎样的?
YARN的任务提交流程涉及到客户端、ResourceManager、NodeManager和ApplicationMaster之间的协作。以下是一般情况下YARN任务提交的流程:
- 客户端提交作业:
- 用户使用命令行工具(如
yarn
命令)或编程接口(如YARN API)提交作业到YARN集群。 - 客户端会向ResourceManager提交作业的描述信息,包括作业的名称、资源需求、运行命令等。
- ResourceManager接收作业请求:
- ResourceManager接收到作业请求后,将请求转发给ApplicationsManager。
- ApplicationsManager接收作业请求:
- ApplicationsManager负责接收来自客户端的作业请求。
- 它为每个作业分配一个唯一的作业ID,并启动一个新的ApplicationMaster来管理该作业。
- 启动ApplicationMaster:
- ResourceManager将作业的描述信息发送给NodeManager所在的节点,请求启动ApplicationMaster。
- NodeManager收到请求后,启动一个新的进程,即ApplicationMaster,以便管理该作业的执行过程。
- ApplicationMaster向ResourceManager注册:
- ApplicationMaster启动后,首先会向ResourceManager注册自己。
- 注册过程中,ApplicationMaster会提供作业的描述信息,包括作业ID、资源需求等。
- 资源分配给作业:
- ResourceManager收到ApplicationMaster的注册请求后,根据作业的资源需求和集群的资源情况,为该作业分配适当的资源(如CPU、内存等)。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-efV59w1D-1712539826815)]
更多推荐
所有评论(0)