MAPREDUCE服务 MRS-Spark2x与其他组件的关系:Spark和YARN的关系
Spark和YARN的关系
Spark的计算调度方式,可以通过YARN的模式实现。Spark共享YARN集群提供丰富的计算资源,将任务分布式的运行起来。Spark on YARN分两种模式:YARN Cluster和YARN Client。
- YARN Cluster模式
运行框架如图3所示。
Spark on YARN-Cluster实现流程:
- 首先由客户端生成Application信息,提交给ResourceManager。
- ResourceManager为Spark Application分配第一个Container(ApplicationMaster),并在该Container上启动Driver。
- ApplicationMaster向ResourceManager申请资源以运行Container。
ResourceManager分配Container给ApplicationMaster,ApplicationMaster和相关的NodeManager通讯,在获得的Container上启动Executor,Executor启动后,开始向Driver注册并申请Task。
- Driver分配Task给Executor执行。
- Executor执行Task并向Driver汇报运行状况。
- YARN Client模式
运行框架如图4所示。
Spark on YARN-Client实现流程:
在YARN-Client模式下,Driver部署在Client端,在Client端启动。YARN-Client模式下,不兼容老版本的客户端。推荐使用YARN-Cluster模式。
- 客户端向ResourceManager发送Spark应用提交请求,Client端将启动ApplicationMaster所需的所有信息打包,提交给ResourceManager上,ResourceManager为其返回应答,该应答中包含多种信息(如ApplicationId、可用资源使用上限和下限等)。ResourceManager收到请求后,会为ApplicationMaster寻找合适的节点,并在该节点上启动它。ApplicationMaster是Yarn中的角色,在Spark中进程名字是ExecutorLauncher。
- 根据每个任务的资源需求,ApplicationMaster可向ResourceManager申请一系列用于运行任务的Container。
- 当ApplicationMaster(从ResourceManager端)收到新分配的Container列表后,会向对应的NodeManager发送信息以启动Container。
ResourceManager分配Container给ApplicationMaster,ApplicationMaster和相关的NodeManager通讯,在获得的Container上启动Executor,Executor启动后,开始向Driver注册并申请Task。
正在运行的Container不会被挂起释放资源。
- Driver分配Task给Executor执行。Executor执行Task并向Driver汇报运行状况。
- 云数据库 GaussDB(for MySQL)与华为云其他服务的关系
- 云数据库 RDS for MySQL与华为云其他服务的关系
- MapReduce服务_什么是Hue_如何使用Hue
- 什么是Spark_如何使用Spark_Spark的功能是什么
- MapReduce服务_什么是Yarn_如何使用Yarn
- MapReduce服务_什么是ZooKeeper_如何使用ZooKeeper
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- MapReduce服务_什么是Flink_如何使用Flink
- MapReduce服务_什么是Hive_如何使用Hive
- MapReduce工作原理_MapReduce是什么意思_MapReduce流程_MRS_华为云