从Spark架构中透视Job

启动Spark-shell 也有作业 一提交系统就会分配计算资源
默认的资源分配方式:在每个Worker上为当前程序分配一个ExecutorBackend进行,且默认情况下回最大化使用Cores和Memory

drive:作业调度 work:做作业
在一个Executor一次性最多能够运行多少并发的Task取决于:当前Executor能够使用最大的Cores

应对OOM的简单方式:拥有多个Executor(前提拥有其他Spark集群的大数据框架)
增加分片数量(只有Spark集群框架)

任务具体分配给谁 主要取决于数据本地性
并行度也是被继承的(分片)

这里写图片描述

当Spark集群启动的时候,首先启动Master进程,负责整个集群资源的管理和分配,并接受作业的提交且为作业分配计算资源。
每个工作节点上默认情况下都会启动一个Worker Process来管理当前节点的Memory、CPU等计算资源并且向Master汇报Worker还能否正常工作。(本身不管理计算资源,只接受Master指令管理)
当用户提交作业给Master的时候,Master会为程序分配ID并分配计算资源,默认情况下会为当前一个程序在每个Worker Process下面分配一个CoarseGrainedExecutor进程,该进程默认情况下回最大的使用当前节点的内存和CPU。

Worker Process管理当前节点的内存和CPU等计算资源,实质是通过Master来管理每台机器上的计算资源
Worker节点上有Worker Process
Worker Process会接受Master的指令为当前要运行的应用程序分配CoarseGrainedExecutor进程

Stage里面的内容一定是在Executor中执行
Stage必须从前往后执行
Spark的一个应用程序中可以因为不同的Action产生众多的Job,每个job至少有一个Stage

学习于:

DT大数据梦工厂
新浪微博:www.weibo.com/ilovepains/
微信公众号:DT_Spark
博客:http://.blog.sina.com.cn/ilovepains
TEL:18610086859
Email:18610086859@vip.126.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值