一文搞懂spark基本架构及原理(超详细)

本文深入介绍了Spark的资源管理架构,包括Master和Worker节点、Application、Driver和Executor进程的角色。讲解了Task、Job、Stage的调度过程,以及Spark在Standalone、Yarn等集群管理器下的运行原理。强调了Spark的运行特点,如Application获取专属Executor、数据本地性和推测执行的优化机制。最后,讨论了Stage的划分依据,即shuffle类算子。
摘要由CSDN通过智能技术生成

Spark 的资源管理架构

首先介绍一下 Spark 的资源管理架构。Spark 集群考虑到了未来对接一些更强大的资源管理系统(如 Yarn、Mesos 等),没有在资源管理的设计上对外封闭,所以Spark 架构设计时将资源管理抽象出了一层,通过这种抽象能够构建一种插件式的资源管理模块。

 

见上图,Master 是 Spark 的 主控节点,在实际的生产环境中会有多个 Master,只有一个 Master 处于 active 状态。Worker 是 Spark 的工作节点,向 Master 汇报自身的资源、Executeor 执行状态的改变,并接受 Master 的命令启动 Executor 或 Driver。Driver 是应用程序的驱动程序,每个应用包括许多小任务,Driver 负责推动这些小任务的有序执行。Executor 是 Spark 的工作进程,由 Worker 监管,负责具体任务的执行。

 

Spark 相关术语

master和worker节点

整个 Spark 集群中,分为 Master 节点与 worker 节点,同时一个集群有多个master节点和多个worker节点。

  • master:主节点,该节点负责管理worker节点,我们从master节点提交应用,负责将串行任务变成可并行执行的任务集Tasks,同时还负责出错问题处理等;
  • worker:从节点,该节点与master节点通信,负责执行任务并管理executor进程。它为集群中任何可以运行Application代码的节点,在Standalone模式中指的是通过slave文件配置的Worker节点,在Spark on Yarn模式下就是NoteManager节点

一台机器可以同时作为master和worker节点,比如有四台机器,可以选择一台设置为master节点,然后剩下三台设为worker节点,也可以把四台都设为worker节点,这种情况下,有一个机器既是master节点又是worker节点。

Application

Appliction都是指用户编写的Spark应用程序,其中包括一个Driver功能的代码和分布在集群中多个节点上运行的Executor代码

dr

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
分布式数据库原理是指将数据分散存储在不同的物理节点上,通过网络进行通信和数据同步的数据库系统。它可以提高数据库的可扩展性、容错性和性能。 分布式数据库的设计思想是将数据划分为多个分片,每个分片存储在不同的节点上。通过数据划分,可以将数据存储在离用户更近的节点上,提高数据的访问速度。同时,分布式数据库可以通过数据复制和数据分发来提供容错性。数据复制可以将数据备份到多个节点上,当某个节点发生故障时,系统可以自动切换到其他节点上继续提供服务。数据分发可以将请求分发到不同的节点进行处理,提高系统的并发处理能力。 PostgreSQL是一种开源的关系型数据库管理系统,具备分布式架构。PostgreSQL的分布式架构包括一个主节点和多个从节点。主节点负责接收用户的请求,并将数据同步到从节点上。从节点可以进行读操作,提高系统的并发处理能力。如果主节点发生故障,从节点可以自动切换为主节点,保证系统的可用性。 PostgreSQL的分布式架构基于流复制技术。主节点将产生的日志记录(WAL日志)通过流复制传输到从节点,从节点会将这些日志记录应用到自己的数据库中。这样可以确保主节点和从节点之间的数据一致。同时,PostgreSQL还支持逻辑复制和扩展查询,可以根据实际需求对数据进行同步和查询的优化。 总之,分布式数据库原理是通过数据的划分、复制和分发,提高数据库的可扩展性、容错性和性能。PostgreSQL的分布式架构基于流复制技术,通过多个节点的协作来提供可靠的数据存储和高效的数据访问。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

data大柳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值