spark的架构
2016-05-30 16:56
309 查看
spark架构采用了分布式计算中的master-slave模型,master是对应集群中含有master进程的节点,slave是集群中含有worker进程的节点,master作为整个集群的控制器,负责整个集群的正常运行,worker相当于是计算节点,接受主节点命令与进行状态汇报。
Executor负责任务的执行,client作为用户的客户端负责提交应用,driver负责控制一个应用的执行
spark集群部署后,需要在主节点和从节点分别启动master进程和worker进程,对真个集群进行控制,在一个spark应用的执行过程中。driver和worker是两个重要角色
driver程序是应用逻辑执行的起点,负责作业的调度,即task任务的分发,而多个worker用来管理计算节点和创建executor并行处理任务,在执行阶段,driver会将task和task所依赖的file和jar序列化后传递给对于的worker机器,同时executor对相应的数据分区的任务进行处理。
下面详细介绍spakr中的架构基本组件
clustermanager 在standalone模式中即为master主节点, 控制整个集群,监控worker, 在yarn中为资源管理器
worker 从节点, 负责控制计算节点, 启动executor 或者 driver 在yarn模式中为nodemanage 负责计算节点的控制
driver 运行 application的main函数并创建sparkcontxt
executor执行器,在woker node上执行任务的组件,用于启动线程池运行任务,每个application拥有独立的一组executors
sparkcontext 整个应用的上下文,控制应用的生命周期
rdd spark 的基本计算单元,一组rdd可形成执行的有向五环图rdd graph
dag scheduler 根据作业构建基于stage额 dag ,听提交stage给task scheduler
taskscheduler 将任务分发给executor执行
spark env 县城级别的上下文,存储运行时的重要组件的引用。
mapoutput tracker 负责shuffle元信息的存储。
broadcastmanager 负责广播变量的控制与元信息的存储
spark的整体流程为: client提交应用,master找到一个worker启动driver,driver向master或者资源管理器申请资源,之后将应用转化为rdd graphh 再有dagscheduler将rdd graph转化为stage的有向无环图 提交给taskscheduler,由taskscheduler提价任务给executor执行, 在任务执行的过程中。其他组件协同工作,确保整个应用顺利执行。
spark运行逻辑
Executor负责任务的执行,client作为用户的客户端负责提交应用,driver负责控制一个应用的执行
spark集群部署后,需要在主节点和从节点分别启动master进程和worker进程,对真个集群进行控制,在一个spark应用的执行过程中。driver和worker是两个重要角色
driver程序是应用逻辑执行的起点,负责作业的调度,即task任务的分发,而多个worker用来管理计算节点和创建executor并行处理任务,在执行阶段,driver会将task和task所依赖的file和jar序列化后传递给对于的worker机器,同时executor对相应的数据分区的任务进行处理。
下面详细介绍spakr中的架构基本组件
clustermanager 在standalone模式中即为master主节点, 控制整个集群,监控worker, 在yarn中为资源管理器
worker 从节点, 负责控制计算节点, 启动executor 或者 driver 在yarn模式中为nodemanage 负责计算节点的控制
driver 运行 application的main函数并创建sparkcontxt
executor执行器,在woker node上执行任务的组件,用于启动线程池运行任务,每个application拥有独立的一组executors
sparkcontext 整个应用的上下文,控制应用的生命周期
rdd spark 的基本计算单元,一组rdd可形成执行的有向五环图rdd graph
dag scheduler 根据作业构建基于stage额 dag ,听提交stage给task scheduler
taskscheduler 将任务分发给executor执行
spark env 县城级别的上下文,存储运行时的重要组件的引用。
mapoutput tracker 负责shuffle元信息的存储。
broadcastmanager 负责广播变量的控制与元信息的存储
spark的整体流程为: client提交应用,master找到一个worker启动driver,driver向master或者资源管理器申请资源,之后将应用转化为rdd graphh 再有dagscheduler将rdd graph转化为stage的有向无环图 提交给taskscheduler,由taskscheduler提价任务给executor执行, 在任务执行的过程中。其他组件协同工作,确保整个应用顺利执行。
spark运行逻辑
相关文章推荐
- C#-ASP.NET MVC-架构【1】-自定义错误页
- 大型分布式网站架构技术总结
- 减少DOM元素的数量
- 大型网站架构之WEB前端优化
- 大型网站架构之WEB前端优化
- miradb+galera+haproxy+keepalived实现mysql负载均衡与高可用
- corosync+pacemaker实现高可用集群
- 如何判断一个网站是不是骗人的?
- 架构漫谈(八):从架构的角度看如何写好代码
- 有用的一些web网站
- 三层架构
- wordpress学习网站
- 网站前端性能优化
- 一起探讨网站内页怎么优化的SEO精髓
- GitHub网站的基本操作
- 第一篇、概述3~大型网站核心架构要素
- 网站出现无法连接数据库错误,Temp文件夹权限对网站的影响
- 网站常用效果
- 详解集群内Session高可用的实现原理
- MySQL高可用之MHA—部署MHA