Spark on YARN 笔记

本文详细介绍了YARN的架构,包括ResourceManager、ApplicationMaster、NodeManager和Container,并探讨了Spark架构及其与YARN的结合。在Spark on YARN中,分析了client mode和cluster mode的工作原理,帮助读者理解在不同模式下Spark任务的执行过程和资源管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直对hadoop这套局限在会用就好,没有对hadoop生态有个系统性的深入了解,也就导致在用的时候出问题很难找到关键的原因,都得google so 各种找相关信息。所以现在觉得,还是得花一些时间,至少把与平时用到的相关部分的原理、概念理解清楚。

只要是用hadoop生态的组件,很多都会用YARN来管理资源与任务分配。而资源分配的合理与否,直接关系到任务的执行效率,甚至决定成功或失败。spark又是现在主流的大数据计算框架,所以就把理解清楚yarn的架构以及spark与yarn的结合作为学习的起始点吧。

YARN的架构

YARN是(Yet Another Resource Negotiator,另一种资源协调者)的缩写。主要用来管理分布式集群的资源,理解YARN主要得理解4个抽象的组件。ResourceManager、ApplicationMaster、NodeManager与Container。

ResourceManager:可以理解为整个分布式集群的主管,负责管理整个集群的资源分配。

ApplicationMaster:一个集群中可以运行有多个应用,可以是map reduce, 可以是spark应用等,只要是适用YARN做资源分配的每一个应用都会有一个ApplicationMaster,它负责向ResourceManager申请资源,以及与NodeManager协调执行具体的任务。

NodeManager:作为ResourceManager的slave(worker),启动container,管理资源以及向ResourceManager汇报资源使用情况。

Container:一个包含内存、CPU、网络、磁盘,以后可能还有GPU资源的容器。每个容器圈定了物理机器上的一部分资源,再把它们分配给运行在容器里的进程,每个容器可以运行多个进程,这些参数都是可配置的。所以也可以把容器看做一个实际执行计算任务的虚拟机。

下面这张图清晰的反映了YARN的架构,以及各组件间是如何协调

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值