Spark 集群搭建_Spark 集群结构|学习笔记

简介: 快速学习 Spark 集群搭建_Spark 集群结构

开发者学堂课程【大数据 Spark2020最新课程(知识精讲与实战演练)第一阶段Spark 集群搭建_Spark 集群结构】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/688/detail/11937


Spark 集群搭建_Spark 集群结构

在搭建一个 Spark 集群之前先去了解一下Spark 集群的结构,了解完 Spark 集群的结构以后会对Spark的原理,有一些粗浅的认识,这时再去搭建这个集群,就更容易去记忆那些步骤。

Spark 集群结构了解过了以后,要进行 Spark 集群的这个搭建,在搭建这个Spark集群以后,这时集群其实并不是一个特别完整的一个集群,那是不是要进行高可用配置完了以后, Spark 的集群就已经是没有问题了,是一个可以使用的集群了,可以先去运行一个入门的案例来去测试一下。

运行案例测试集群:

Spark 集群搭建部分有四个步骤。

接下来就进入到第一个步骤,就是Spark集群的这个结构。现在切回到的笔记当中,在整个环节之前解决问题

Spark 如何把一个程序跑在一个集群当中的问题:

这个问题的本质,其实是解决如何去管理一个数以千计的规模的一个集群,这个工作一般都会有一些现成的工具来帮完成。

Cluster Mnanger :

刚才所说的一个现场的工具,就是这些 Cluster Manager,有一些工具能够帮助去管理集群这些工具。

先举一个小例子,比如说 Yarn 就是一个集群的管理工具, Yarn 在逻辑上分为 Resource Manager 和 node manager  两个部分啊除了 Yarn 在大数据领域里面还有一个比较知名的叫做 Mesos ,还有一个,最近比较火的叫作 Kubernetes ,除了三个外部的这个集群管理工具以外,Spark 还支持一个叫做 Standalone  的一个自身的一个集群管理工具。

所以 Spark  是支持四个集群管理工具的好,这些集群管理工具,就能够做到像是使用一个计算机一样,使用一整个集群。

在提交这个任务的时候,会先通过 Spark 的这个 client 来去接收提交过来的程序,把这个程序划分为很小很细的一些 task 一些任务,把这些把这些任务提交给这个 Clustermanager 。

image.png 

Clustermanager 就负责帮忙把这个任务提交到集群当中去运行,这是整个的流程。

运行和运行位置的问题:

假设在集群里面有这样的一个主机,这个主机里面,应该有一个称之为叫做守护进程的一个东西,就是可以和 Cluster Manager 之间保持一个心跳,或者保持一些关联,等有任务提交过来以后, Cluster Manager 可以把这个任务放入这个守护进程当中去运行,守护进程负责把这个程序,把这个任务在它所运行的这个计算机里面去运行,对于 Yarn 来说,Cluster Manager 可能就是类似于 Resource Manager 的那个组成,这个守护进程,就是 Yarn 当中的 Node Manager。

image.png

下面对整个图再进行一些扩展,把把里面的概念去确定

首先分为三个部分:

第一部分是client部分

第二个部分是 Cluster Manager部分

第三个部分是集群部分

Client :

暂且认为该叫 Driver,但是 Driver 并不是一个完整的 Cluster ,这个 Cluster 的还有一些其它的工具。

Cluster Manager :

可以刚才所说的那四种集群管理工具。 Cluster Manager 管理的其实是 Worker ,如果要去运行一个程序,并不是是直接在 Worker 这样的一个守护进程当中去运行而是在 Worker 它所启动的 Executor 当中去运行的,这是一个大致的一个运行情况。

Driver:

Driver就是用于去运行 Spark ,卖方法的,这样的一个组件,这个组件,是它的的主要任务,是帮助创建一些所运行程序的一些必备的依赖,比如说 Spark Context 这样的一个上下文对象,然后去把程序划分为不同的任务,并且把这些任务提交给 Cluster Manager 去运行好,Cluster Manager 是和外部集群打交道的一个工具,帮助运行 Task,Worker 就是对应的集群当中的每一个主机, Worker 本质上是一个守护进程,负责启动这个 Executor

Executor:

就是运行程序的运行 Task 的那个节点,那个程序

比如说一个 JVM 的虚拟机可以运行的一个Task,这个 JVM 有可能就是一个 Executor。

image.png

还是这张图,更细节的流程,首先,第一步肯定还是要去启动的这个 Driver,这个 Driver 启动了以后, Spark 才能够去运行, Driver 会接收提交过来的这个程序,然后,会去创建 Spark Session,通过这个 Spark Session 可以把这个程序,划分为不同的这个 Task 接下来 Driver ,会向 Cluster Manager 去申请集群的这个资源资源申请完毕了以后,那在 Worker 里头会启动对应的 Executor ,当这个 Exescutor 启动好以后,Driver Program 就会把对应的 Task 运行到 Executor

当中。

相关文章
|
22天前
|
存储 分布式计算 调度
Spark Master HA 主从切换过程不会影响到集群已有作业的运行, 为什么?
Spark Master 的高可用性(HA)机制确保主节点故障时,备用主节点能无缝接管集群管理,保障稳定运行。关键在于: 1. **Driver 和 Executor 独立**:任务执行不依赖 Master。 2. **应用状态保持**:备用 Master 通过 ZooKeeper 恢复集群状态。 3. **ZooKeeper 协调**:快速选举新 Master 并同步状态。 4. **容错机制**:任务可在其他 Executor 上重新调度。 这些特性保证了集群在 Master 故障时仍能正常运行。
|
4月前
|
SQL 分布式计算 大数据
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(一)
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(一)
57 0
|
4月前
|
SQL 分布式计算 大数据
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(二)
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(二)
47 0
|
4月前
|
消息中间件 分布式计算 Kafka
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
53 0
|
4月前
|
消息中间件 分布式计算 Kafka
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
66 0
|
4月前
|
SQL 分布式计算 大数据
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
133 0
|
4月前
|
SQL 分布式计算 算法
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(二)
126 0
|
3月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
200 2
|
3月前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
234 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
3月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
192 1

相关实验场景

更多