您的位置:首页 > 运维架构 > 网站架构

从Spark架构中透视job

2016-08-08 14:40 253 查看
在Spark中一个Application的执行流程可以表示为:



即:当Spark集群启动的时候,首先启动Master进程负责整个集群资源的管理和分配,并接受作业的提交,且为作业分配计算资源。每个工作节点默认情况下都会启动一个Worker Process来管理当前节点的Memory和CPU等计算资源,并向Master汇报Worker还能够正常工作;当用户提交作业给Master的时候,Master会为程序分配ID并分配计算资源,默认情况下会为当前的应用程序在每个Worker Process下面分配一个CoarseGrainedEcecutorBachend进程,该进程默认情况下会最大化的使用当前节点的内存和CPU。

在此过程中需要注意以下几个问题:

1、我们说Worker Process管理当前节点的内存和CPU等计算资源,实质上是通过Master来管理每台机器上的计算资源的。

2、Worker节点上有Worker Process,Worker Process会接受Master的指令为当前要运行的应用程序分配CoarseGrainedEcecutorBachend进程。

3、Stage里面的内容一定是在Executor中执行的,而且Stage必须是从前往后执行。

4、Spark的一个应用程序中可以因为不同的Action产生不同的job,每个job至少有一个Stage。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: