Spark 架构设计
一:架构总览

二:角色作用
- Client:面向用户,对外提供接口,提交代码的入口。
- Driver Program:驱动器程序,用于解耦客户端和内部实际操作,将用户程序转化为任务。
- SparkContent:Spark 上下文,承接作用,用于配置上下文环境。
- Cluster Manager(Resource Manager):集群资源管理器,统一资源管理与任务调度。
- Application Master:任务的执行,调度指挥者。
- Worker Node:工作节点,任务的实际执行者。
三:角色间关系
- 客户端接收到用户指令、代码;
- 驱动器服务于客户端,承接指令传达给集群资源管理器;
- 集群资源管理器根据当前情况,进行资源调度,生成一个任务调度者 AM(Application Master)
- AM 给相应的工作节点分配任务;
- 工作节点执行任务,执行完毕,结果返回给 AM,并向资源管理器汇报自身资源情况,任务已完成当前空闲状态。
- AM 接收到计算结果进行汇总,返回给客户端。
四:工作特性
- 内存计算
- 多线程
- 缓存
- 每一个 AM 都有一批专享的 Executor,以多线程方式启动多个 Task 任务,并行的线程计算任务缓存 RDD数据缓存块,存储复用的数据模块。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 爱影客!


