news 2026/6/10 17:41:41

105-Spark之Standalone HA环境搭建过程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
105-Spark之Standalone HA环境搭建过程

一、高可用的HA

单点故障的问题是无法避免的问题,如何解决这个单点故障的问题,Spark提供了两种方案:
1.基于文件系统的单点恢复(Single-Node Recovery with Local File System)-只能用于开发或测试环境。
2.基于zookeeper的Standby Masters(Standby Masters with ZooKeeper)–可以用于生产环境。
ZooKeeper提供了一个LeaderElection机制,利用这个机制可以保证虽然集群存在多个Master,但是只有一个是Active
的,其他的都是Standby。当Active的Master出现故障时,另外的一个StandbyMaster会被选举出来。由于集群的信息
,包括Worker,Driver和Application的信息都已经持久化到文件系统,因此在切换的过程中只会影响新job的提交,对
于正在进行的job没有任何的影响。加入Zookeeper的集群整体架构如下图所示。

二、搭建步骤

2.1务必确保Zookeeper 和 HDFS 均已经启动!
【如果没有配置过zookeeper的同学可以看我的上一篇文章】

2.2先在spark-env.sh中, 删除:SPARK_MASTER_HOST=node1
原因: 配置文件中固定master是谁, 那么就无法用到zookeeper的动态切换master功能了.

2.3在spark-env.sh中, 在尾行增加下面的配置:

SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181 -Dspark.deploy.zookeeper.dir=/spark-ha"


2.4将spark-env.sh 分发到每一台服务器上

scpspark-env.sh node2:/export/server/spark/conf/scpspark-env.sh node3:/export/server/spark/conf/


2.5先停止Standalone模式

[hadoop@node1 conf]$cd..[hadoop@node1 spark]$ sbin/stop-all.sh node1: no org.apache.spark.deploy.worker.Worker to stop node3: no org.apache.spark.deploy.worker.Worker to stop node2: no org.apache.spark.deploy.worker.Worker to stop no org.apache.spark.deploy.master.Master to stop[hadoop@node1 spark]$

2.6使用jps查看三个节点机器是否有Master和Worker

2.7在node1节点上启动Master 同时读取worker的配置去启动worker

[hadoop@node1 spark]$ sbin/start-all.sh starting org.apache.spark.deploy.master.Master, logging to /export/server/spark/logs/spark-hadoop-org.apache.spark.deploy.master.Master-1-node1.liushao.cn.out node1: starting org.apache.spark.deploy.worker.Worker, logging to /export/server/spark/logs/spark-hadoop-org.apache.spark.deploy.worker.Worker-1-node1.liushao.cn.out node3: starting org.apache.spark.deploy.worker.Worker, logging to /export/server/spark/logs/spark-hadoop-org.apache.spark.deploy.worker.Worker-1-node3.liushao.cn.out node2: starting org.apache.spark.deploy.worker.Worker, logging to /export/server/spark/logs/spark-hadoop-org.apache.spark.deploy.worker.Worker-1-node2.liushao.cn.out[hadoop@node1 spark]$

2.8 在node2上启动备用的master

[hadoop@node2 ~]$cd/export/server/spark[hadoop@node2 spark]$ sbin/start-master.sh starting org.apache.spark.deploy.master.Master, logging to /export/server/spark/logs/spark-hadoop-org.apache.spark.deploy.master.Master-1-node2.liushao.cn.out[hadoop@node2 spark]$


到此为止就启动了两个master节点 三个worker节点
切记使用jps查看启动进程

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 16:53:55

Docker中TensorFlow-GPU调用问题全解析

Docker中TensorFlow-GPU调用问题全解析 在深度学习模型从研发走向生产的链条中,容器化部署已成为标准实践。借助Docker,团队可以实现环境一致性、快速交付和资源隔离。然而,当试图在容器内运行基于GPU的TensorFlow训练或推理任务时&#xff…

作者头像 李华
网站建设 2026/6/9 7:08:29

在Simulink中使用powergui进行傅里叶fft分析

在Simulink中使用powergui进行傅里叶fft分析 首先使用快捷键 Ctrl E 打开设置, 在输入导入/导出中取消勾选单一仿真输出 其次打开Scope模块, 在记录选项卡勾选将数据记录到工作区 点击powergui, 依次找到Apps, FFT Analyzer FFT分析界面 参考链接 simulink中的FFT 小白入…

作者头像 李华
网站建设 2026/6/10 15:38:03

全程自动化:智慧工厂的物流协奏新篇章

在智慧工厂建设中,仓储物流自动化将设备、系统与流程无缝衔接,奏响高效、智能的生产旋律。荣联汇智通过深度融合自动化技术与物流管理,构建起一个从物料入库到成品出库全流程贯通的智能仓储体系,实现了工厂内部物流的无人化、柔性…

作者头像 李华
网站建设 2026/6/9 12:58:49

[Windows] FileOptimizer - 智能无损文件压缩优化工具

获取地址:FileOptimizer 一款强大的免费文件压缩与优化工具,支持超过400种文件格式(包括图片、文档、PDF、视频、字体、可执行文件等)。通过调用数百种外部优化器,智能选择最佳算法,在不损失质量的前提下&…

作者头像 李华
网站建设 2026/6/10 17:19:00

NVIDIA TensorRT如何助力大模型Token生成加速?

NVIDIA TensorRT如何助力大模型Token生成加速? 在当前大语言模型(LLM)广泛应用的背景下,用户对交互响应速度的要求越来越高。无论是智能客服、语音助手还是代码补全系统,人们期望的是“即时反馈”——输入问题后几乎立…

作者头像 李华
网站建设 2026/6/10 17:12:31

雷科电力-REKE耐电压绝缘匝间状况分析仪

一、产品概述:雷科电力-REKE耐电压绝缘匝间状况分析仪是采用脉冲波形比较法,以高压冲击波对二线圈或绕组进行过电压的模拟检测,并由示波器来判别二绕组波形差异的一种测试仪器。它能迅速、正确地判断线圈或绕组匝间绝缘电晕放电、局部或相间短…

作者头像 李华