为了账号安全,请及时绑定邮箱和手机立即绑定

Spark结构图详解

标签:
Spark

Spark架构

架构图如下:


webp

spark架构.jpg

Spark结构主要分为四个部分:

  1. 用来提交作业的Client程序:client是什么呢,比如spark中提交程序的shell窗口,宏观上讲,是一台提交程序的物理机。负责将打包好的spark程序提交到集群中,提交完程序这个客户端客户端程序还发挥什么作用呢?yarn-client模式下,客户端提交程序后,在该客户端上又运行着一个driver程序,这个client的作用持续到spark程序运行完毕,而yarn-cluster模式下,客户端提交程序后就不再发挥任何作用,也就是说仅仅发挥了提交程序包的作用。

  2. 用来驱动程序运行的Driver程序:driver完成的工作主要是创建用户的上下文,这个上下文中包括很多控件比如DADScheduler、TaskScheduler等等,这些控件完成的工作也称为driver完成的。driver中完成RDD的生成,将RDD划分成有向无环图,生成task,接受master的指示将task发送到worker节点上进行执行等工作。

  1. 用来进行资源调度的ClusterManager: 整个集群的master,主要完成资源的调度,涉及一些调度算法,自带的资源管理器只支持FIFO调度,yarn和mesos还支持其他方式的调度算发。CM一边和driver打交道 ,一边和worker打交道,driver向CM申请资源,worker通过心跳机制向CM汇报自己的资源和运行情况,CM告诉driver应该向哪些worker发送消息, 然后driver把task发送到这些可用的worker上

  2. 用来执行程序的worker:worker用多个executor来执行程序

整个Spark集群采用的是master-slaver模型,master(CluserManager)负责集群整体资源的调度和管理并管理worker,worker管理其上的executor。



作者:dpengwang
链接:https://www.jianshu.com/p/df241432f475


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消