Spark学习笔记(一)| 任务运行及部署模式

1.Spark内核概念

Spark内核泛指Spark的核心运行机制,包括:

其实对于熟悉Java的小伙伴来说,只要初步熟悉了scala的基本语法,想要完成某些功能并不难,困难的是但程序不能正常运行的时候(集群环境较难调试)或者程序运行时间较长想要进行优化时,这就需要对整个Spark背后的各种机制比较清楚了解,才能快速定位问题或者优化程序。

1.1 Spark运行流程简介

在这里插入图片描述
【任务的详细调度流程】:Spark学习笔记(二)| Spark任务调度机制

1.2 基础概念

Spark中的角色
图自官网

Driver

在Spark作业执行时负责:

  • 运行应用程序的main函数
  • 创建spark的上下文
  • 划分RDD并生成有向无环图(DAGScheduler)
  • 与spark中的其他组进行协调,协调资源等等(SchedulerBackend)
  • 生成并发送task到executor(taskScheduler)

Executor

在Spark作业执行时负责:

  • 执行task任务

2.四种部署模式运行机制

2.1 Standalone模式运行机制

Standalone集群有四个重要运行机制:

  • Master: 是一个进程,主要负责资源的调度和分配,并进行集群的监控等职责
  • Worker: 是一个进程,可以启动其他的进程和线程(Executor);同时用自己的内存存储RDD的某些partition
  • Driver:是一个进程,我们编写的Spark应用程序就运行在Driver上
  • Executor: 是一个进程,一个Worker可以运行多个Executor,Executor通过启动多个线程(task)来执行对RDD的partition进行并行计算。

2.1.1 Standalone-Client模式

在这里插入图片描述

2.1.2 Standalone-Cluster模式

在这里插入图片描述

2.2 YARN模式运行机制

  • YARN-Client模式会导致本地机器负责Spark任务的调度,所以网卡流量会激增;YARN-Cluster模式没有流量激增的问题
  • YARN-Client模式的Driver进程运行在本地,通常本地机器和YARN集群不在同一个机房,所以会性能不是很好

2.2.1 YARN-Client模式

2.2.2 YARN-Cluster模式

在这里插入图片描述

2.3 Client模式和Cluster模式区别

这二者的主要区别:Driver在哪里执行

  • Client模式: Driver进程在提交任务的机器上执行
  • Cluster模式: Driver进程在集群中的某一台机器上执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值