0


spark学习笔记(三)——sparkcore基础知识

端口号说明

4040(计算):Spark 查看当前 Spark-shell 运行任务情况;

8080(资源):Standalone 模式下,Spark Master Web端口号;

7077:Spark Master 内部通信服务;

18080:Spark 历史服务器端口号;

8088:Hadoop YARN 任务运行情况查看端口号。

spark核心模块

spark SQL、spark Streaming、spark GraphX、spark MLlib

spark core

Spark Core 提供了 Spark 最基础与最核心的功能。

Spark 其他的功能都是在 Spark Core 的基础上进行扩展的。

spark SQL

Spark SQL 是 Spark 用来操作结构化数据的组件。

通过 Spark SQL,用户可以使用 SQL 或HQL(hive)来查询数据。

spark streaming

Spark Streaming 是 Spark 平台上针对实时数据进行流式计算的组件。

spark streaming提供了丰富的处理数据流的 API。

MLlib

MLlib 是 Spark 提供的一个机器学习算法库。

GraphX

GraphX 是 Spark 面向图计算提供的框架与算法库。

spark核心组件

Spark的核心是一个计算引擎。

driver

driver是spark驱动器节点,用于执行 spark 任务中的 main 方法,负责实际代码的执行工作。

简单理解,driver 就是驱使整个应用运行起来的程序。

主要负责:

(1)将用户程序转化为作业(job);

(2)在 Executor 之间调度任务(task) ;

(3)跟踪 Executor 的执行情况;

(4)通过 UI 展示查询运行情况。

executor

executor是集群中Worker的一个 JVM 进程,负责在 Spark 作业中运行具体任务,任务之间相互独立。

Spark应用启动,Executor节点同时启动,且存在于Spark应用的生命周期。

如果有Executor节点发生了故障或崩溃,spark会将出错节点上的任务调度到其他 Executor节点上继续运行。

Executor核心功能:

(1)负责运行组成 Spark 应用的任务,并将结果返回给驱动器;

(2)为用户程序中要求缓存的 RDD 提供内存式存储;

(3)RDD直接缓存在Executor进程内,任务可以在运行时充分利用缓存数据加速运算。

Master&Worker

Master 和 Worker:这里的 Master 是一个进 程,主要负责资源的调度和分配,进行集群监控等;Worker也是进程,一个Worker运行在集群中的一台服务器上,Master分配资源Worker对数据进行并行的处理和计算。

ApplicationMaster

ApplicationMaster用于向资源调度器申请执行任务的资源容器Container,运行用户自己的程序任务 job,监控整个任务的执行,跟踪整个任务的状态,处理任务失败等异常情况。

运行架构

Driver:负责管理整个集群中的作业任务调度。

Executor:负责实际执行任务。

提交任务流程

一般会有两种部署执行的方式:Client 和 Cluster

两种模式主要区别在于:Driver程序的运行节点位置。Client模式将用于监控和调度的Driver模块在客户端执行。Cluster模式将用于监控和调度的Driver模块在Yarn集群中执行。

Yarn Client

(1)Driver在任务提交的本地机器上运行;

(2)Driver和ResourceManager通讯,申请启动ApplicationMaster;

(3)ResourceManager分配Container,在合适的NodeManager上启动ApplicationMaster;

(4)ApplicationMaster负责向ResourceManager申请Executor内存;

(5)ResourceManager分配container;

(6)ApplicationMaster在指定的NodeManager上启动Executor进程;

(7)Executor向Driver反向注册;

(8)Executor全部注册完成后Driver开始执行;

(9)执行main函数,执行Action算子(Action算子触发一个 Job),根据宽依赖划分stage,每个 stage生成对应的TaskSet,将 task 分发到各个 Executor 上执行。

Yarn Cluster

(1)Driver任务提交;

(2)Driver和ResourceManager通讯,申请启动ApplicationMaster;

(3)ResourceManager分配Container,在合适的NodeManager上启动ApplicationMaster,这个ApplicationMaster就是Driver;

(4)ApplicationMaster负责向ResourceManager申请Executor内存;

(5)ResourceManager分配container;

(6)ApplicationMaster在指定的NodeManager上启动Executor进程;

(7)Executor向Driver反向注册;

(8)Executor全部注册完成后Driver开始执行;

(9)执行main函数,执行Action算子(Action算子触发一个 Job),根据宽依赖划分stage,每个 stage生成对应的TaskSet,将 task 分发到各个 Executor 上执行。

本文仅仅是学习笔记的记录!!!

标签: spark 学习 大数据

本文转载自: https://blog.csdn.net/qq_55906442/article/details/125925020
版权归原作者 一个人的牛牛 所有, 如有侵权,请联系我们删除。

“spark学习笔记(三)——sparkcore基础知识”的评论:

还没有评论