Spark 角色说明(Client 、Master、Worker、Driver、Executor)
来源:互联网 发布:宝塔性能优化 编辑:程序博客网 时间:2024/05/17 05:19
Standalone模式下存在的角色
- Client :客户端进程,负责提交作业到Master。
- Master :Standalone模式中主控节点,负责接收Client提交的作业,管理Worker,并命令Worker启动Driver和Executor。
- Worker :Standalone模式中slave节点上的守护进程,负责管理本节点的资源,定期向Master汇报心跳,接收Master的命令,启动Driver和Executor。
Driver : 一个Spark作业运行时包括一个Driver进程,也是作业的主进程,负责作业的解析、生成Stage并调度Task到Executor上。包括 DAGScheduler , TaskScheduler 。
driver 在worker上,作业提交流程图:(图片摘自网络)
driver 在客户端,作业提交流程图:
其中
Driver 的启动:
SparkSubmit 提交程序后启动 Client 进程, 创建 Client.ClientEndpoint , onStart() 内向 Master 发送 RequestSubmitDriver 消息
Master 接收请求调用 schedule()方法中发出 launchDriver 消息,由 worker 启动
Client 的启动:
SparkSubmit 提交程序 => org.apache.spark.deploy.Client.main()
Executor 的启动:
new SparkContext()
=> taskScheduler.start => backend.start()
=> backend.start()内 client = new AppClient() => client.start()
=> ClientEndpoint.onStart() 内向 Master 发送 RegisterApplication 请求
=> Master 授理请求,执行 startExecutorsOnWorkers() ,启动各个 Executor , 该方法含资源分配
- Spark 角色说明(Client 、Master、Worker、Driver、Executor)
- Spark Master、Worker、Driver、Executor工作流程详解
- day26:Spark Runtime(Driver、Masster、Worker、Executor)内幕
- 第35课Spark Master、Worker、Driver、Executor工作流程详解
- spark源码学习(三)---worker源码分析-worker启动driver、executor分析
- Spark中Master、Worker、Client通信示意图
- Spark的Master、Worker、Executor以及task等概念
- spark源码学习(二)---Master源码分析(3)-master对driver、executor的调度
- 第26课: Spark Runtime(Driver、Masster、Worker、Executor)内幕解密
- Spark源码分析之worker节点启动driver和executor
- Spark源码—AKKA驱动下的Driver、Master、Worker
- Spark技术内幕:Client,Master和Worker 通信源码解析
- Spark技术内幕:Client,Master和Worker 通信源码解析
- Spark技术内幕:Client,Master和Worker 通信源码解析
- Spark技术内幕:Client,Master和Worker 通信源码解析
- Spark技术内幕:Client,Master和Worker 通信源码解析
- Spark通信--client、master、worker间的通信
- Spark2.2 Worker、Driver和Executor向Master注册原理剖析图解及源码
- oracle加密表空间
- LeetCode 112. Path Sum
- Coco2D 安装《cocos2d installment》
- 文本分类的python实现-基于Xgboost算法
- OpenCV调试利器——Image Watch插件的安装和使用
- Spark 角色说明(Client 、Master、Worker、Driver、Executor)
- Python中的类变量和成员变量
- OpenCV+海康威视摄像头的实时读取
- 区分BITMAP、CBitmap和HBITMAP
- C语言函数指针的几种用法
- android自定义view的两种方法(一)
- vim编辑器的简单操作
- ubuntu的文字解决方案
- Android 自定义Drawable 实现圆角圆形图片