Spark的架构

架构组件基本概念:

Spark集群中的Master负责集群整体资源管理和调度,Worker负责单个节点的资源管理。Driver程序是应用逻辑执行的起点,而多个Executor用来数据进行并行处理。


Spark的构成:

-ClusterManager:在standalone模式中即为,Master:主节点,控制整个集群,监控Worker。在YARN模式中为资源管理器。

-Worker:从节点,负责控制计算节点,启动Excutor或Driver。在YARN模式中为NodeManager,负责计算节点的控制。

-Driver:运行Application的main()函数并且创建SparkContext。一个应用程序的主控。负责一个应用程序的运行和调度。

-Executor:执行器,是为某个Application运行在worker node上的一个进程,启动线程池运行任务上。每个Application拥有独立的一组executors。

-SparkContext:整个应用的上下文,控制着应用的整个生命周期。

-RDD:Spark的基本计算单元,一组RDD形成执行的有向无环图RDD Graph。

-DAG Scheduler:根据Job构建基于Stage的DAG,并提交Stage给TaskScheduler。

-TaskScheduler:将Task分发给Executor执行。

-SparkEnv:线程级别的上下文,存储运行时的重要组件的引用。


架构图:



集群执行机制:

Client提交应用,Master找到一个Worker启动Driver,Driver向Master或者资源管理器申请资源(例如:申请CPU和内存),之后将应用(打包的jar包)转化为RDD Graph,再由DAGScheduler将RDD Graph转化为Stage的有向无环图提交给TaskScheduler,由TaskScheduler提交任务给Executor进行执行。这样每一轮次执行完,将会将数据shuffle到磁盘,执行下一轮的Stage。经过多轮的Stage的执行,最终将结果在输出spark。任务执行的过程中其他组件再协同工作确保整个应用顺利执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值