简述 Spark 的架构与作业提交流程

spark特点

spark 计算框架在处理数据时,所有的数据都存储在内存中。减少了磁盘的读写操作,提高了框架计算效率。同时spark还兼容HDFS、Hive,可以很好地与Hadoop系统兼容,弥补了mr高延迟的性能缺点。spark是一个更加高效、快速的大数据计算平台系统。市面上基本的大型离线分析系统都采用spark处理引擎。

基本概念

Application:  spark运行的应用。application 中包含一个驱动器进程和集群中的多个执行进程。

Driver Program:运行main方法创建sparkcontext的进程

cluster Manager:用于集群上申请资源的外部服务(集群管理器、Mesos、Yarn)

work node:集群上运行应用程序代码的任意一个节点

Executor:在集群工作节点上为某个应用启动的工作进程,该进程负责运行计算任务,并为一个用程序存储数据。

Task:在Executor 进行中执行任务的工作单元,多个task 组成一个stage。

job:一个并行计算作业,由一组任务组成,并由spark行动算子触发启动。

stage:每个job划分为更小的task集合,每组任务被称为stage。

集群运行架构

 spark应用在集群上作为独立的进程组来运行。

1. Driver 通过main创建一个spakrcontext,然后向cluster manager注册并申请资源

2. cluster manager 根据资源调度算法分配并监控资源使用情况,分配资源给work节点,work节点为应用启动多个executor,同时节点汇报心跳情况给cluster manager,便于集群管理器对executor 进行状态监控,如果监控到executor 失败,则立刻重新创建。

3. sparkcontext 构建的DAG图,将分解为stage。并把stage 发送到task scheduler,executor 向spakrcontext 申请task。

4. task scheduler 将task 发送给executor 运行,同时sparkcontext 将应用程序代码发送到executor。

5. task 在executor上 运行,运行完毕后Driver 向cluster ma

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值