standalone集群

2022-06-19  本文已影响0人  Eqo

standalone集群 是spark自己带的资源调度集群
yarn是所有符合其标准的程序跟他申请资源他都给
Spark Standalone集群,仅仅只能向其提交运行Spark Application程序,其他应用无法提交运行

image.png

主从架构(master -slave )
主角色 master ,管理整个集群的资源
从角色 workers,管理每台机器的 资源
历史服务器 history server

master是集群中含有Master进程的节点,slave是集群中的Worker节点含有Executor进程

image.png
image.png

应用运行架构

8、Spark 计算引擎:Spark应用组成.png

当将Spark Application运行在集群上时,所有组件组成如下所示:
第一部分、集群资源管理框架,以Standalone 集群为例

第二部分 应用组成 应用管理者driver 和应用执行者executors

18、Standalone集群:Spark应用提交完全组件流程.png

流程:
1.客户端提交spark应用后,会首先启动一个 driver program进程

2.driver program 会向master 申请资源运行executor

3.master收到请求后,会在符合条件的worker 从节点上 启动对应个数的executor

4.启动的executor 会跟 driver反向注册

5.当所有的executor注册完成后,driver会开始从main函数开始执行,一行一行读取代码

6.当读到一个action触发算子的时候,DAG scheduler会根据回溯法,构建DAG 调度图

7,DAG scheduler 会划分stage,当遇到一个宽依赖就划分stage

8.在每个stage中,由task scheduler 根据每个stage中 最后一个rdd的分区数,确定task任务的个数

(需要注意的是,spark当中task的计算模式 都是pipeline 管道计算模式,即先建立每个stager中 每个rdd分区的通道,在一个一个去计算)

9.最后task scheduler调度所有的task 到 executor中去执行

上一篇下一篇

猜你喜欢

热点阅读