spark-python

news2024/11/15 8:28:47

前言:本帖子是看了黑马教学视频结合spark八股,记录一下spark的知识.

一.spark介绍

1.1 spark的运行模式

1.2 spark的架构角色

在讨论spark的架构角色时,首先先回顾一下yarn的架构角色.

spark架构角色:

二.standalone 运行原理

2.1standalone架构

standalone中有三类进程:

  • master
  • worker
  • historyserver

在 standalone 模式下, master进程和 worker进程是固定的。
开启一个任务,就会在master进程中开启一个对应的 Driver线程,然后在worker进程中开启一个或者多个 Executor线程
开启两个任务,就会在master进程中开启两个对应的 Driver线程,对应的Executor各自汇报给对应的Driver,Executor数量根据你任务情况而定。

在该图中:

  • dirver运行在master进程中,executor运行在worker进程中.
  • master会管理worker的资源情况,worker会管理executor的任务运行情况.
  • 一个任务就有一个driver带有它工作的executor,两个任务有两个dirver带有它工作的executor.
  • 当任务完成之后,dirver就会消失(体现在任务的driver端口打不开),可以通过日志查看.

2.2  standalone的集群环境安装

2.2.1 集群规划

2.2.2 spark集群部署

  • 首先安装anaconda,因为spark要在python环境下执行, 所以要在三台电脑上安装python环境,并且创建虚拟环境.
  • 配置环境变量
  • 其他安装步骤

这里安装步骤不做介绍了(因为纯看课,没有实操)

2.2.3 spark

2.3 spark程序运行层次架构

  • 4040是一个程序运行时候绑定的端口,dirver和spark的application是绑定的,一个程序绑定一个,两个程序绑定两个,在运行的时候申请的端口,程序运行完,该端口注销,有几个application,就有几个端口.
  • 8080在程序运行之后也不会停止.
  • 18080:是查看历史运行状态的端口.

spark在应用程序执行时,大概可以分为4个层级:

application-->job-->stage-->task

当我们在执行时,一个应用程序(application)可能比较大,会分配出多个子任务(job),最少一个子任务,每个任务有不同的stage运行,先干什么,在干什么,那阶段又可以分成几个task.

  • 在之后rdd的时候,会再详细介绍这些.

总结:

 

 2.4 StandAlone HA

2.4.1 StandAlone HA 运行原理

StandAlone HA是由于StandAlone 工作架构是主从架构,master只有一个,会出现单点故障,如果主节点(master)宕机的话,那么整个集群就没有办法正常工作了,StandAlone HA就是为了解决这个问题而产生的.

基于zookeeper的Standby Masters(Standby Masters with ZooKeeper)--可以用于生产环境。
ZooKeeper提供了一个Leader Election机制,利用这个机制可以保证虽然集群存在多个Master,但是只有一个是Active (活跃)的,其他的都是Standby(备份)。当Active的Master出现故障时,另外的一个Standby Master会被选举出来。
  • spark集群启动的时候会启动多个master节点,master在配置了zookeeper HA模式之下,在启动的时候会去zookeeper注册一个临时节点,谁先启动,谁先注册成功,谁就是active的master,另一个作为standby进行监听.
  • worker启动成功之后,会和zookeeper进行通讯,就会得知谁是活跃的master.
  • 然后worker和该master组件成一个可用的集群.
  • 如果活跃的master宕机了,那他的临时节点失效,然后standby的master就注册临时节点,变成了active的master.
  • 然后workers从zookeeper中获得活跃的master节点,进行正常工作.

2.4.2 基于zookeeper搭建spark的Standalone HA集群.

这里不做过多介绍,没有搭建.

2.4.3 总结

三.spark on yarn的环境搭建(很重要实际生产中用)

这一节比较重要,但是这里仍然不搭建,笔记会详细记录.

3.1 spark on yarn的本质

首先如果我们想要一个稳定生产的spark环境,那么最优的选择就是构建:StandAlone HA集群.

其次,一般企业资源比较紧缺,基本上都会有hadoop集群,yarn和spark standalone都是可以进行资源调度的,再搭建standalone就比较费资源,那就出现了spark on yarn.

对于spark on yarn,无需部署spark集群,只要找一台服务器,充当spark的客户端,即可提交任务到yarn集群中运行.(这里找一台服务器充当客户端,什么意思?standalone 模式下不是这样嘛?)

答:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1996450.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI称重收银一体秤

系统介绍 专门为零售行业的连锁店量身打造的收银系统,适用于常规超市、生鲜超市、水果店、便利店、零食专卖店、服装店、母婴用品、农贸市场等类型的门店使用。同时线上线下数据打通,线下收银的数据与小程序私域商城中的数据完全同步,如商品…

如何在 Windows 11/10/8/7 中恢复已删除和未保存的记事本文本文件

很多原因都会导致未保存的记事本文本文件丢失。这些包括意外关闭、系统崩溃或电源故障等。无论丢失文本文件的原因是什么,相关的焦虑都是一样的。如果您遇到这种情况,可以使用以下有效方法在 Windows 11/10/8/7 中恢复已删除的文本文件。在这篇文章中&am…

NFT Insider #142:Mocaverse 在 The Sandbox 中推出 Mocaland 体验,Azuki 推出新系列动画片

NFT Insider 浓缩每周 NFT 新闻,为大家带来关于 NFT 最全面、最新鲜、最有价值的讯息。每期周报将从 NFT 市场数据,艺术新闻类,游戏新闻类,虚拟世界类,其他动态类,五个角度剖析 NFT 市场现状,了…

从新手到专家:2024年四大电脑录屏软件满足不同需求

电脑录屏是我们记录和分享信息的重要方式。无论是专业领域的技术演示,还是个人爱好的展示,一个好的录屏工具都能让我们的表达更加生动和直观。下面,就让我们一起探索几款市面上备受好评的电脑录屏软件。 福昕REC 链接:www.foxit…

金九银十,全网最详细的软件测试面试题总结

前面看到了一些面试题,总感觉会用得到,但是看一遍又记不住,所以我把面试题都整合在一起,都是来自各路大佬的分享,为了方便以后自己需要的时候刷一刷,不用再到处找题,今天把自己整理的这些面试题…

A股继续震荡盘整,无力回天还是蓄势待发?

今日A股走势十分反常,恐有大事将要发生了,直奔主题,马上告诉给所有人! 1、今天A股走势反常,昨夜外围纳指上涨2.87%,中概股也大涨了。今天亚太股市也在拉升,而A股却冲高回落,再度翻绿…

牛客JS题(二十八)控制动画

注释很详细&#xff0c;直接上代码 涉及知识点&#xff1a; css动态效果前提判断类型判断 题干&#xff1a; 我的答案 <!DOCTYPE html> <html><head><meta charset"utf-8" /><style type"text/css">#rect {width: 100px;he…

面试题(六)

1、等于操作符 “ ” 和全等操作符 “ ” 区别 有类型隐式转换&#xff0c;会先进行类型转换&#xff0c;再确定操作数是否相等&#xff08;若类型比较&#xff09;。 null undefined 结果为 true 没有类型隐式转换&#xff0c;只有两个操作数在不转换的前提下相等&#xff…

如何在 Android 手机/平板电脑上恢复误删除的 DCIM 文件夹

DCIM 文件夹是智能手机和平板电脑上最重要的文件夹之一。许多人报告说他们在 Android 设备上遇到了 DCIM 文件夹为空的问题。实际上&#xff0c;这种情况大多数情况下都会发生&#xff0c;当您意外从 Android 设备中删除 DCIM 文件夹或因病毒攻击、应用程序问题和意外格式化等原…

Android系统安全 — 6.5 Bluetooth安全连接原理

1 蓝牙协议架构和简称 蓝牙协议栈主要分&#xff1a;APPS层&#xff08;应用层&#xff0c;包括音频播放器&#xff0c;蓝牙遥控&#xff0c;智能家居APP等&#xff09;&#xff0c; HOST层&#xff08;中间层协议&#xff0c;包括GAP,SMP,ATT/GATT, L2CAP, AMP Manager&#x…

6自由度机械手DH坐标系建立

一、建立机械臂DH坐标系 Z为转动关节的转轴&#xff0c;Xi垂直于关节轴i和i1所在的平面&#xff0c;则根据上述方法可以建立坐标系如下图&#xff1a; 二、DH参数表 DH参数设定&#xff1a;机器人的每个连杆可以用4个运动学参数表示&#xff0c;DH法建立坐标系&#xff0c;xi-…

『状态模式』

首先创建一个项目 打开项目后复制至3个场景 命名为 创建一个空物体 命名为GameLoop 创建一个脚本GameLoop.cs 编写代码如下 将代码挂载至空物体GameLoop 将三个场景拖拽至Scenes In Build 分析下状态模式的类图 我们创新类图中的代码 编写ISceneState.cs 编写三个状态子类继承构…

Rust学习----Rust安装

如何安装Rust&#xff1f; 1.官网&#xff1a;https://www.rust-lang.org/zh-CN/ 2.Linux or Max: curl https://sh.rustup.rs -sSf | sh 3.Windows按官网指导安装。 4.Windows Subsystem for Linux&#xff1a; curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs…

2024年软件测试八股文(含答案+文档)

1、你的测试职业发展是什么&#xff1f; 测试经验越多&#xff0c;测试能力越高。所以我的职业发展是需要时间积累的&#xff0c;一步步向着高级测试工程师奔去。而且我也有初步的职业规划&#xff0c;前3年积累测试经验&#xff0c;按如何做好测试工程师的要点去要求自己&…

Redis 数据结构深度解析

在浩瀚的数据存储海洋中&#xff0c;Redis以其卓越的性能和丰富的数据结构脱颖而出&#xff0c;成为众多开发者心中的瑰宝。作为一个高性能的键值存储系统&#xff0c;Redis不仅支持基础的字符串类型&#xff0c;还提供了哈希、列表、集合、有序集合等复杂数据结构&#xff0c;…

Git详细命令大全

一、创建版本库 创建目录&#xff1a;mkdir zzz 目录路径 进入目录&#xff1a;cd zzz 目录路径 查看当前目录路径&#xff1a;pwd 将当前目录变成Git仓库 &#xff1a;git init 二、代码存储 提交 添加文件到暂存区&#xff1a; 当前代码&#xff1a;git add . add与.之间有空…

医疗行业解决方案参考

医疗行业解决方案 互联网医院架构 患者门户&#xff1a;提供患者信息查询、挂号、缴费等基本服务。 预约挂号&#xff1a;允许患者在线预约挂号&#xff0c;减少现场排队等候时间。 挂号查询&#xff1a;患者可以查询挂号状态和相关信息。 院内导诊&#xff1a;提供院内导航…

2-60 基于matlab的时滞系统广义预测控制(GPC)算法仿真

基于matlab的时滞系统广义预测控制&#xff08;GPC&#xff09;算法仿真&#xff0c;不同控制加权矩阵控制效果对比&#xff0c;输入参数预测时域、控制时域、控制加权矩阵、误差加权矩阵。输出对比结果。程序已调通&#xff0c;可直接运行。 2-60 控制加权矩阵 误差加权矩阵 -…

Qgis 开发初级 《数据库和图层》

Qgis 可以加载很多数据源&#xff0c;像shapefile 文件&#xff0c; gdb文件等&#xff0c;还可以直接链接企业数据库。在这里&#xff0c;我只介绍比较常用的本地数据库 gdb。gdb 是esri 开发的数据库&#xff0c;gdb数据库不是开源的&#xff0c;qigs用了OpenFileGdb的驱动读…

ThreadPoolExecutor 理解

参数的理解&#xff1a; 核心和最大池大小 Core and maximum pool sizes ThreadPoolExecutor将根据corePoolSize 和 maximumPoolSize 设置的边界自动调整线程池大小&#xff0c;在方法execute&#xff08;Runnable&#xff09;中提交新任务时&#xff0c;如果运行的线程数少于…