Spark 运行架构和解析《二》
来源:互联网 发布:网络刷信誉兼职可信吗 编辑:程序博客网 时间:2024/06/06 10:56
1.实例解析
val lines = ssc.textFile(args( 1 )) // 输入
val w ords = lines.flatMap(x =>x.split( " " ))
w ords.cache() // 缓存
val w ordCounts = w ords.map(x => (x, 1) )
val red = w ordCounts.reduce B yKey( (a,b)=>{ a + b } , 8)
red.saveAsTextFile( “/root/Desktop/out ”, 8 )
这是一个简单的Spark例子,其运行流程如下图:
2.Spark 在不同集群中的运行架构
(1)standalone
SparkContext连接到Master,向Master注册并申请资源(CPU Core 和Memory)
Master根据SparkContext的资源申请要求和worker心跳周期内报告的信息决定在哪个worker上分配资源,然后在该worker上获取资源,然后启动StandaloneExecutorBackend。
StandaloneExecutorBackend向SparkContext注册
SparkContext将Applicaiton代码发送给StandaloneExecutorBackend;并且SparkContext解析Applicaiton代码,构建DAG图,并提交给DAG Scheduler分解成Stage(当碰到Action操作时,就会催生Job;每个Job中含有1个或多个Stage,Stage一般在获取外部数据和shu f f le之前产生),然后以Stage(或者称为TaskSet)提交给Task Scheduler,Task Scheduler负责将Task分配到相应的worker,最后提交给StandaloneExecutorBackend执行;
StandaloneExecutorBackend会建立executor 线程池,开始执行Task,并向SparkContext报告,直至Task完成。
所有Task完成后,SparkContext向Master注销,释放资源。
(2)YARN
Spark on YARN有两种运行的模式:cluster mode,client mode
client mode:
cluster mode:
用户通过bin/spark-submit( Spark1.0.0 应用程序部署工具spark-submit)或 bin/spark-class 向YARN提交Application
RM为Application分配第一个container,并在指定节点的container上启动SparkContext。
SparkContext向RM申请资源以运行Executor
RM分配Container给SparkContext,SparkContext和相关的NM通讯,在获得的Container上启动StandaloneExecutorBackend,StandaloneExecutorBackend启动后,开始向SparkContext注册并申请Task
SparkContext分配Task给StandaloneExecutorBackend执行
StandaloneExecutorBackend执行Task并向SparkContext汇报运行状况
Task运行完毕,SparkContext归还资源给NM,并注销退出。
- Spark 运行架构和解析《二》
- Spark 运行架构和解析《一》
- Spark SQL运行原理和架构
- spark基础之spark sql运行原理和架构
- Spark运行架构
- Spark运行架构
- Spark运行架构
- Spark运行架构
- Spark运行架构
- Spark运行架构
- Spark运行架构
- spark运行架构
- Spark运行架构
- Spark运行架构
- Spark运行架构
- Spark运行架构
- Spark运行架构
- Spark运行架构
- 网络概论
- android调用camera实现自定义照相
- 把mysql数据表中的字段的默认值设置为空字符串怎么设置
- 关于Rayeager PX2的一些实现
- JSP、Struts2下载中文文件名乱码问题
- Spark 运行架构和解析《二》
- 字节序转换函数
- JVM工作原理
- 左值表达式 右值表达式(C/C++)
- thinkphp---trace 输出到火狐控制台
- 工作中遇到的linux 知识整理
- augular.js 菜鸟学习笔记 (三)
- 字符串-07. 说反话-加强版 (20)
- 51ms级几种CPU延时