首页  

spark作业运行流程     所属分类 spark 浏览量 832
spark 作业运行流程
spark RDD迭代过程
yarn资源管理器介绍
spark程序在yarn上执行流程


spark 作业运行流程 spark应用以进程集合为单位在分布式集群上运行 通过driver程序的main方法创建sparkContext对象与集群交互 sparkContext 向 cluster Manager申请CPU,内存等计算资源 cluster Manager 分配应用执行需要的资源,在worker节点创建executor sparkContext 将程序代码和task任务发送到executor上执行 代码可以是编译成的jar包或者python文件等 接着sparkContext收集结果到Driver端
spark RDD迭代过程 sparkContext 创建RDD 计算RDD间的依赖 形成DAG DAGScheduler 将DAG划分为多个stage,并将stage对应的TaskSet提交到集群管理中心 stage的划分依据是RDD中的宽窄依赖 spark遇见宽依赖就会划分为一个stage 每个stage中包含来一个或多个task任务 避免多个stage之间消息传递产生的系统开销 taskScheduler 通过集群管理中心为每一个task申请资源并将task提交到worker节点执行 worker上的executor执行具体的任务
yarn资源管理器介绍 没有yarn前,每个分布式框架都要跑在一个集群上面 Hadoop Spark 跑在独立的集群上 整个集群的资源利用率低,且管理起来麻烦 yarn 分布式资源管理和任务管理 ResourceManager NodeManager ApplicationMaster ResourceManager 主要负责集群的资源管理,监控和分配 NodeManager 负责节点的维护,执行和监控task运行状况 通过心跳向ResourceManager汇报资源使用情况 yarn资源管理器的每个节点都运行一个NodeManager,是ResourceManager的代理 ResourceManager 主节点宕机后,连接备用节点 ApplicationMaster 负责具体应用程序的调度和资源的协调 与ResourceManager协商进行资源申请 ResourceManager以container形式将资源分配给application运行 同时负责任务的启停 container 资源抽象,封装节点资源信息(cpu 内存 磁盘 网络等) yarn将任务分配到container上运行 该任务只能使用container描述的资源,实现各个任务间资源隔离
spark程序在yarn上执行流程 spark on yarn 分为两种模式 yarn-client模式 和 yarn—cluster模式 一般用 yarn-cluster模式 yarn-client模式 driver在客户端本地执行 Driver会与yarn集群中的Executor进行大量的通信 yarn-cluster模式 Driver运行在Yarn集群中某一台NodeManager中 每次提交任务 Driver所在的机器是随机的 任务提交后不能看日志,只能通过yarn查看日志 yarn-cluster运行模式 client 向yarn提交应用 包含ApplicationMaster程序 启动ApplicationMaster的命令 需要在Executor中运行的程序等 ApplicationMaster向ResourceManager注册 可以通过ResourceManage查看应用运行状态 ApplicationMaster申请到资源(Container)后 与对应的NodeManager通信,启动Task Task向ApplicationMaster汇报运行状态和进度 应用运行完成后,ApplicationMaster向ResourceManager申请注销并关闭自己
Spark核心设计思想 spark 原理及特点 spark运行模式及集群角色

上一篇     下一篇
Spark核心设计思想

spark 原理及特点

spark运行模式及集群角色

Zeppelin简介

大数据学习路线

学霸老师见多了学霸,发现学霸养成的真相