首页 首页 大数据 大数据入门 查看内容

Spark on Yarn的运行原理

木马童年 2018-10-13 19:39 71 0

一、YARN是集群的资源管理系统 1、ResourceManager:负责整个集群的资源管理和分配。 2、ApplicationMaster:YARN中每个Application对应一个AM进程,负责与RM协商获取资源,获取资源后告诉NodeManager为其分配并启 ...

一、YARN是集群的资源管理系统

1、ResourceManager:负责整个集群的资源管理和分配。

2、ApplicationMaster:YARN中每个Application对应一个AM进程,负责与RM协商获取资源,获取资源后告诉NodeManager为其分配并启动Container。

3、NodeManager:每个节点的资源和任务管理器,负责启动/停止Container,并监视资源使用情况。

4、Container:YARN中的抽象资源。

二、Spark的概念

1、Driver:和ClusterManager通信,进行资源申请、任务分配并监督其运行状况等。

2、ClusterManager:这里指YARN。

3、DAGScheduler:把spark作业转换成Stage的DAG图。

4、TaskScheduler:把Task分配给具体的Executor。

三、SPARK on YARN

3.1、yarn-cluster模式下

Spark on Yarn的运行原理

(1)ResourceManager接到请求后在集群中选择一个NodeManager分配Container,并在Container中启动ApplicationMaster进程;

(2)在ApplicationMaster进程中初始化sparkContext;

(3)ApplicationMaster向ResourceManager申请到Container后,通知NodeManager在获得的Container中启动excutor进程;

(4)sparkContext分配Task给excutor,excutor发送运行状态给ApplicationMaster。

3.2、yarn-client模式下

Spark on Yarn的运行原理

(1)ResourceManager接到请求后在集群中选择一个NodeManager分配Container,并在Container中启动ApplicationMaster进程;

(2)driver进程运行在client中,并初始化sparkContext;

(3)sparkContext初始化完后与ApplicationMaster通讯,通过ApplicationMaster向ResourceManager申请Container,ApplicationMaster通知NodeManager在获得的Container中启动excutor进程;

(4)sparkContext分配Task给excutor,excutor发送运行状态给driver。

3.3、yarn-cluster与yarn-client的区别:

它们的区别就是ApplicationMaster的区别,yarn-cluster中ApplicationMaster不仅负责申请资源,并负责监控Task的运行状况,因此可以关掉client;

而yarn-client中ApplicationMaster仅负责申请资源,由client中的driver来监控调度Task的运行,因此不能关掉client。

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

未分类
0
为您推荐
对于大数据开发的学习,最经典的学习路线是什么?

对于大数据开发的学习,最经典的学习路线是什么?

对于现代社会,大数据开发的重要性不言而喻,通过大量的数据处理、分析获取有价值的信…...

大数据时代,主要需要什么类型的人才?

大数据时代,主要需要什么类型的人才?

什么是大数据,大数据是主要指的是,无法在可承受的时间范围内用常规软件工具进行捕捉…...

什么样的人才是大数据人才呢?我们应该怎么定义和分类?

什么样的人才是大数据人才呢?我们应该怎么定义和分类

在未来世界,国家之间、区域之间甚至是公司之间的大数据人才的争夺战,将是愈演愈烈的…...

数据科学,数据分析和机器学习之间,有什么本质区别?

数据科学,数据分析和机器学习之间,有什么本质区别?

我们都知道机器学习,数据科学和数据分析是未来的发展方向。有些公司不仅利用大数据帮…...

大数据现在处于什么阶段,入行大数据,需要学习哪些基础知识?

大数据现在处于什么阶段,入行大数据,需要学习哪些基

大数据的发展历程总体上可以划分为三个重要阶段,萌芽期、成熟期和大规模应用期…...

大数据技术怎么学习,在学习大数据之前,需要具备什么基础?

大数据技术怎么学习,在学习大数据之前,需要具备什么

  大数据又称黑暗数据,是指人脑无法处理的海量数据聚合成的信息资产,在民生、IT、…...