spark(4)-高可用HA zookeeper原理及环境搭建

Spark搭建HA详解 实验环境: zookeeper-3.4.6 Spark:1.6.0 简介: 本篇博客将从以下几点组织文章: 一:Spark 构建高可用HA架构 二:动手实战构建高可用HA 三:提交程序测试HA一:Spark 构建高可用HA架构 Spark本身是Master和Slave,而这这里的 Master是指Spark资源调度和分配。负责整个集群的资源调度和分配。 Worke 阅读详情

1. Spark集群模式及原理

1.1 spark集群示意图



1.2 zookeeper协调spark

        Spark本身是Master/Slaves结构的,有一个中心节点(Master),Master负责Spark集群的资源调度和分配。其余的是Worker。
        Worker管理单个节点上的资源状况。这里说的资源主要指CPU、内存,当然也包括disk IO,网络IO等。
        所谓Active级别的Master就是说现在正在管理集群,并接受外界程序提交请求和资源分配请求的Master。StandBy就是随时准备在Active Master挂掉后切换成Active级别,供集群资源分配需要及提交程序注册程序的需要。使用zookeeper做HA,做成3台机器,Active Master就是Leader。

       Zookeeper(资源协同的框架)中包含的有哪些内容?=>所有的Worker、Driver、Application. Driver代表了正在运行的程序。Application是应用程序本身。这些信息都会交给Zookeeper。

       Master切换时会不会影响application?不会,因为程序运行前已经向master申请过资源了。申请过后就是Driver与Executors之间的通信,这个过程一般不需要Master参与,除非executor有故障。这就是粗粒度,好处是一次性分配资源好后,不需要再关心资源的分配,而在作业运行过程中可以让driver和executors交互,完成作业或程序运行。

2. Zookeeper配置

2.1 zookeeper安装及初始配置

       说明:Zookeeper是与其他组件完全独立的组件。官网:http://zookeeper.apache.org/
       ① 三台机器下载配置$ZOOKEEPER_HOME及$PATH

[root@master-1a zookeeper]# vim /etc/profile 
#config zookeeper
export ZOOKEEPER_HOME=/usr/hadoop-env/.version/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

[root@master-1a zookeeper]# cd $ZOOKEEPER_HOME 
[root@master-1a zookeeper-3.4.10]# pwd
/usr/hadoop-env/.version/zookeeper-3.4.10
       ② 修改默认的数据及日志存储路径(cp conf下的样例配置为zoo.cfg)

[root@master-1a zookeeper-3.4.10]# cd conf/
[root@master-1a conf]# vim zoo.cfg

dataDir=/usr/hadoop-env/.version/zookeeper-3.4.10/data
dataLogDir=/usr/hadoop-env/.version/zookeeper-3.4.10/logs

#master-1a、slave01-02三台机器上都装了Zookeeper
server.0=master-1a:2888:3888
server.1=slave-01:2888:3888
server.2=slave-02:2888:3888      
 并建立对应的data和logs目录。
        ③ 进入data,创建myid,设置myid里的值0(对应conf中的server.0)直接写0即可

[root@master-1a data]# vim myid
0
        ④ 其他两台配置相同,注意修改myid分别为1,2


2.2 启动zookeeper


[root@master-1a bin]# cd $ZOOKEEPER_HOME 
[root@master-1a zookeeper-3.4.10]# ./bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/hadoop-env/.version/zookeeper-3.4.10/bin/../conf/zoo.cfg
Starting zookeeper ... already running as process 3187.
        ① 同样命令将其他两台启动。使用jps可以看到三台机器上都有QuorumPeerMain进程

        ② 相关命令

./bin/zkServer.sh start     #启动
./bin/zkServer.sh status    #查看leader还是follower
./bin/zkServer.sh stop
        ④ 下边的一个小测验为:关闭leader的所在机器。再查看另外两台机器,将会有一台变为leader

[root@slave-01 zookeeper-3.4.10]# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/hadoop-env/.version/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: leader      #slave-01为leader
[root@slave-01 zookeeper-3.4.10]# ./bin/zkServer.sh stop #停止该leader
ZooKeeper JMX enabled by default
Using config: /usr/hadoop-env/.version/zookeeper-3.4.10/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
[root@master-1a zookeeper-3.4.10]# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/hadoop-env/.version/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
[root@master-1a zookeeper-3.4.10]# ./bin/zkServer.sh status  #该机器仍然为follower
ZooKeeper JMX enabled by default
Using config: /usr/hadoop-env/.version/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
[root@slave-02 zookeeper-3.4.10]# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/hadoop-env/.version/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
[root@slave-02 zookeeper-3.4.10]# ./bin/zkServer.sh status  #slave-01停止后,slave-02有幸选为leader
ZooKeeper JMX enabled by default
Using config: /usr/hadoop-env/.version/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: leader

Spark-3.2.4 高可用集群安装部署详细图文教程 阅读详情

相关推荐

基于Zookeeper的Spark HA配置说明

默认情况下在Spark standalone集群中进行计算时,由于是RDD的计算模型,所以可以认为worker 已经是有HA特性的了,但是负责资源调度的Master节点有可能出现单点故障。所以为了保证环境的稳定,还是需要配置HA功能。 官方文档中提供了两种HA的机制  基于Zookeeper:利用ZooKeeper来提供主节点选举和集群状态的存储,可以在集群中运行多个连接到同一个Zoo

不积跬步,无以至千里;不积小流,无以成江海! 4870

Spark配置高可用HA

Spark高可用性(High Availability)是指在Spark集群中,当某个节点或组件出现故障时,系统可以自动切换到备用节点或组件,以保证整个集群的稳定性和可用性。Spark高可用性的实现可以通过以下两种方式之一:Spark Standalone模式的高可用性:使用Spark自带的HA机制,通过Zookeeper实现主节点的选举和故障转移,从而保证Spark集群的高可用性。

zhongmingyu 1452

Hadoop2.2.0 HA高可用分布式集群搭建(hbase,hive,sqoop,spark)

1 需要软件 Hadoop-2.2.0 Hbase-0.96.2(这里就用这个版本,跟Hadoop-2.2.0是配套的,不用覆盖jar包什么的) Hive-0.13.1 Zookeepr-3.4.6(建议使用Zookeepr-3.4.5,这样就不用替换storm和hive里面的zookeepr-3.4.5.jar了) Sqoop1.4.5 Scala-2.10.4 Spark-1.0

edent-ON THE WAY 5072

一文带你了解Spark4新特性,开启大数据处理新篇章

在大数据处理的广袤天地中,Apache Spark 始终是熠熠生辉的存在,宛如一颗璀璨的明星框架,吸引着无数开发者与数据分析师的目光。技术的车轮滚滚向前,Spark 4.0 在万众瞩目中荣耀登场,携带着一系列令人热血沸腾的新特性,如同为大数据领域开启了一扇通往新世界的大门,带来了前所未有的变革。今天,就让我们一同踏上这场探索之旅,深入剖析 Spark 4.0 的全新特性,探寻它们如何为大数据处理的版图添上浓墨重彩的一笔。

敏叔 3375

Spark基础学习笔记07:搭建Spark HA集群

1. 了解Spark HA集群工作原理 2. 掌握搭建Spark HA集群基本步骤 3. 能够测试Spark HA集群的高可用性

howard2005的专栏 2005

别再纠结Dify了!实测对比RAGFlow和Dify,聊聊企业知识库到底该怎么选

本文深度对比了RAGFlow和Dify在企业知识库选型中的实际表现,从技术架构、性能指标、部署成本等多维度进行分析。RAGFlow在复杂文档处理和准确率方面表现突出,适合有专职技术团队的企业;而Dify则以低门槛和快速部署见长。文章提供了六维度评估法,帮助企业根据文档复杂度、准确率要求等技术指标做出明智选择。

weixin_30897233的博客 667

Spark 4.0|自适应查询(AQE)优化革命!

Apache Spark 4.0 中的自适应查询执行(AQE):查询优化的革命随着大数据处理的不断进步,对更智能、更高效的查询优化的需求从未如此迫切。自适应查询执行(AQE)是 Apache Spark 3.0 中引入的一项突破性功能,并在 Spark 4.0 中得到了进一步优化。AQE 允许 Spark 通过实时优化查询性能,适应大数据的动态和不可预测性。这篇博客深入探讨了 AQE 是什么、其关...

微信搜:import_bigdata,大数据领域硬核原创作者 2933

RK3568平台 麦克风PDM接口录音_rk pdm配置

在RK平台,Android的Audio HAL层中一般会都会有导出录音播放数据的功能。如播放的,是会直接送到声卡中的,对于播放出现问题的情况,可以从分析导出的音频数据是否正常,可以基本知道,是在应用、解码出现的问题,还是送到声卡过程中出现问题。当点开app进行录音的时候会调用到static int start_input_stream(struct stream_in *in)。音频在PDM接口输入,不经过编解码芯片直接到RK主芯片,RK主芯片自带PCM编解码功能。以下软件能播放保存下来的pdm文件。

2401_83817122的博客 2343

「2025年全年」Spark4.0时代,Spark全年更新核心特性总结和解析!

Spark在2025年经历了3.x到4.x系列的重要跨越,其中Spark4.0版本在今年的5月份发布,也标志着Spark进入了新的发展阶段,这些更新包括全新的ANSI SQL模式支持,多态UDTF,Real-Time Mode功能引进等功能性上的提升,也包含GPU加速和内存优化等技术带来的性能上的提升,以及Python API的全面改进等等,我们接下逐一解读这些变化。在这个基础上,Spark提供超过Flink的状态监控和查询能力:直接查询状态存储中的数据,监控状态的变化历史,以及诊断流处理中的问题。

微信搜:import_bigdata,大数据领域硬核原创作者 1789

神经网络学习笔记-波尔兹曼(Boltzmann)机

Boltzmann机是一种反馈随机神经网络 两种输出状态,单极性0或1。输出状态的取值根据概率统计法则决定,这种概率统计法则类似Boltzmann分布,部分反馈 它在神经元状态变化中引入了统计概率,网络的平衡状态服从Boltzmann分布,网络运行机制基于模拟退火算法。 离散Hopfield神经网络+模拟退火+隐单元=Boltzman机 DHNN全反馈,转移函数:符号函数 BM机网络拓扑...

求易学堂的博客 2612

全自动数据分析 - Claude Code Sub-Agents:自动化数据分析工厂

别忘了!claude code也是agent框架,类似langgraph,crewAI,autogen等等agent框架。我改造claude code搞一个数据分析智能体AI。试试看行不行!:让数据分析变得像聊天一样简单!

liangdabiao的博客 1072

Spark集群安装之——Zookeeper+Kafka 安装教程

1、安装和配置Zookeeper1) 下载Zookeeper进入http://www.apache.org/dyn/closer.cgi/zookeeper/,你可以选择其他镜像网址去下载,用官网推荐的镜像:http://mirror.bit.edu.cn/apache/zookeeper/下载zookeeper-3.4.6.tar.gz2) 安装Zookeeper提示:下面的步骤发生在Ma

coderlaw's study 1733

Python爬虫selenium验证-中文识别点选+图片验证码案例

环境对模型进行训练,参考:https://github.com/sml2h3/dddd_trainer。能识别,但是发现默认识别率有点低,想要提升识别率,可以搭建。截图每个字符,并基于ddddocr识别。根据坐标,在验证码上进行点击。

dme.的博客 2165

Spark环境搭建③ standalone-HA高可用模式

原理 Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单点故障的问题。 如何解决这个单点故障的问题,Spark提供了两种方案: 1.基于文件系统的单点恢复(Single-Node Recovery with Local File System)--只能用于开发或测试环境。 2.基于zooke...

大数据记录 9678

Vue - 列表拖曳排序 / 鼠标拖动改变顺序排列高效简洁组件(支持PC端与移动端触屏拖动,也可在滚动条内排序自动滚动,流畅丝滑无 BUG)

Vue-高效简洁列表拖曳排序/鼠标拖动改变顺序排列组件支持PC端与移动端触屏拖动,也可在滚动条内排序自动滚动,流畅丝滑无BUG列表拖曳排序插件vuedraggable拉动拽动拖动顺序改变排序js,vue.js,nuxt.js列表如何实现鼠标拖曳改变顺序排列支持滚动条内复杂数据对象带拖动效果动画排序完毕自动排列数组位置克隆Vue.Draggable官方文档教程SortableJS与vuedraggable列表拖动排序Vue拖拽组件库vuedraggable的安装与使用用户用鼠标拖动排序功能源码最好

🏆 前端领域优质创作者 4847

1、CUDA 编程基础

GPU计算的发展历程与重要性。首先回顾了计算机技术的发展,特别是摩尔定律的影响,强调了计算能力的快速提升。然而,随着晶体管尺寸的缩小和频率的停滞,单线程性能增长放缓。为了继续提升性能,多核处理器开始普及,促使软件开发者开始考虑并行计算。介绍了延迟导向设计和吞吐量导向设计的概念,CPU和GPU分别代表了这两种设计方法。GPU是吞吐量导向的,拥有众多弱小的ALU,通过流水线处理提高算术吞吐量。GPU的成功在于其高并行性和高吞吐量,以及能够分摊高昂的固定成本的大量销售额。

Justinyh的博客 579

Spark环境搭建——HA高可用模式

        本篇博客,Alice为大家带来的是Spark的HA高可用环境搭建的教程。 原理         Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一...

大数据梦想家 9856

虚幻商城 Fab 免费资产自动化入库

Fab 商城的所有的免费资产自动化入库

一碗清深的博客 3627

Spark快速入门系列(6) | Spark环境搭建—standalone(3) 配置HA高可用模式

  大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客主页:https://buwenbuhuo.blog.youkuaiyun.com/   此篇为大家带来的是Spark环境搭建—standalone(3).

不温卜火 5925

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Spark技术内幕:Master基于ZooKeeper的High Availability(HA)源码实现

本文详细讲解了Spark在Standalone模式下的Master的HA的源码分析。 为了解决Standalone模式下的Master的SPOF,Spark采用了ZooKeeper提供的选举功能。Spark并没有采用ZooKeeper原生的Java API,而是采用了Curator,一个对ZooKeeper进行了封装的框架。采用了Curator后,Spark不用管理与ZooKeeper的连接,这些对于Spark来说都是透明的。Spark仅仅使用了100行代码,就实现了Master的HA。当然了,Spark是

anzhsoft的技术专栏 3万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

spark 基于ZooKeeper实现HA高可用性以及自动主备切换

北风网spark学习笔记 默认情况下,standalone cluster manager对于worker节点的失败是具有容错性的(迄今为止,Spark自身而言对于丢失部分计算工作是有容错性的,它会将丢失的计算工作迁移到其他worker节点上执行)。然而,调度器是依托于master进程来做出调度决策的,这就会造成单点故障:如果master挂掉了,就没法提交新的应用程序了。为了解决这个问题,spar...

htfenght的博客 2317

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

hadoop+Zookeeper+HBase+Spark(HA)环境搭建

1、hadoop+Zookeeper+HBase的环境搭建请看:https://blog.youkuaiyun.com/sunxiaoju/article/details/85878696 2、搭建scale环境,首先从https://www.scala-lang.org/download/地址下载,选择linux,如下图所示: 2、使用如下命令将下载好的scala上传到master节点: scp...

sxj的专栏 1780

【大数据环境安装指南】ZooKeeper搭建spark高可用集群教程

本文介绍了Spark集群的搭建与高可用配置,主要包括:1)Spark核心组件与架构,包括Spark Core、SQL、Streaming等模块功能及Standalone集群架构;2)Spark集群搭建步骤,包括环境准备、版本选择、安装配置及集群部署;3)高可用实现方案,通过ZooKeeper协调多Master节点实现故障自动切换;4)集群启动流程,需依次启动ZooKeeper、Hadoop和Spark服务。文章详细说明了在CentOS/Rocky/Kylin系统下基于Hadoop 3.4.2和JDK 8环境

ayst1994的博客 1399

Spark HA高可用部署

Spark HA高可用部署1. 高可用部署说明Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单点故障的问题。如何解决这个单点故障的问题,Spark提供了两种方案: 基于文件系统的单点恢复(Single-Node Recovery with Local File System)。 主要用于开发或测试

Running_Tiger的博客 852

Spark运行环境搭建

(2)启动Local环境 进入解压缩后的路径,执行一下命令

weixin_52112640的博客 3628

第12 课:HA下的Spark集群工作原理解密

第12 课:HA下的Spark集群工作原理解密 本期内容: 1.Spark高可用HA实战 2. Spark集群工作原理详解 1,Spark高可用HA实战 Spark本身是Master/Slaves结构的,有一个中心节点(Master),Master负责Spark集群的资源调度和分配。其余的是Worker。Worker管理单个节点上的资源状况。这里说的资源主要指CPU、内存

slq1023的博客 2026
上一篇: spark(3)-wordcount原理解析
下一篇: spark(5)-spark内核架构(course13)
王小禾
博客等级 码龄11年 80粉丝 291原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值