Spark 集群搭建_高可用配置|学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 快速学习 Spark 集群搭建_高可用配置

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

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


Spark 集群搭建_高可用配置


具体了解步骤如下:

(目标)简要了解如何使用 Zookeeper 帮助 Spark Standalone 高可用。

对于 Spark Standalone 集群,当 Worker 调度出现问题的时候,会自动的弹性容错,将出错的 Task 调度到其它 Worker 执行,但对于 Master 而言,会出现单点失败的情况,为避免此类问题, Spark 提供两种方式满足高可用:

①使用 Zookeeper 实现 Master 的主备切换

②使用文件系统做主备切换

image.png

主要介绍①使用 Zookeeper 实现 Master 的主备切换,


步骤如下:

一、Step1 停止 Spark 集群

二、Step2 修改配置文件,增加 Spark 运行时参数,从而指定 Zookeeper

的位置        

三、Step3 分发配置文件到整个集群

四、Step4 启动

五、Step5 查看 node01 master 和 node02 master 的 WebUI


一、Step1 停止 Spark 集群

cd /export /servers /spark

sbin /stop-all.sh (如图)

image.png


二、Step2 修改配置文件,增加 Spark 运行时参数,从而指定 Zookeeper 的位置

.进入 spark-env.sh 所在目录,打开 vi 编辑

cd /export /servers /spark /conf

vi spark-env.sh

.编辑 spark-env.sh,

添加 Spark 启动参数,并去掉 SPARK_HOST 地址

image.png

#指定Java Home

export JAVA HOME=/export/servers/jdk 1.8.0_ 141

#指定Spark Master地址

#export SPARK MASTER _HOST=node 01

export SPARK_ MASTER _PORT=7077

#指定Spark History运行参数

Export SPARK _HISTORY_OPTS=“Dspark.history.ui.port=4000 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=h

dfs://node01:8020/spark_log”

#指定Spark运行时参数

exportSPARK_DAEMON_JAVA_OPTS=-

Dspark.deploy.recoveryMode=

ZOOKEEPER-Dspark.deploy.zookeeper.url=node01:2181,node02:2181 ,

Node03:2181 -Dspark.deploy.zookeeper. dir=/spark” (如图)

image.png

保存并退出配置文件。


三、Step3 分发配置文件到整个集群

cd/export/servers/spark/conf

scp spark-env. sh node 02:$PWD

scp spark-env. sh node 03:$PWD (如图)

image.png


四、Step4 启动

.在 node01 上启动整个集群

cd/export/servers/spark

sbin/start-all.sh

sbin/start-history-server.sh (如图)

image.png

.在 node02 上单独再启动一个 Master

cd/export/servers/spark

sbin/start-master.sh (如图)

image.png


五、Step5查看 node01 master 和 node02 master 的 Web

UI

会发现一个是 ALIVE (主),另外一个是 STANDBY (备)

image.png

如果关闭一个,则另一个成为 “ALIVE” ,但这个过程可能持续两分钟作用,需要耐心等待。

#在 Node01 中执行如下指令

cd/export/servers/spark/

sbin/stop-master.sh

image.png

主备切换的核心原理即: Spark HA 选举

Spark HA 的 Leader 选举使用一个叫做 Curator 的 Zookeeper 客户端来进行。

Zookeeper 是一个分布式强一致性的协调服务, Zookeeper 最基本的一个保证是:

如果多个节点同时创建一个 ZNode, 只有一个能成功创建,这个做法的本质使用的是 Zookeeper 的 ZAB 协议,能够在分布式环境下达成一致。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
5月前
|
分布式计算 Linux Spark
179 Spark集群安装
179 Spark集群安装
36 0
|
2天前
|
分布式计算 Hadoop Scala
Spark【环境搭建 01】spark-3.0.0-without 单机版(安装+配置+测试案例)
【4月更文挑战第13天】Spark【环境搭建 01】spark-3.0.0-without 单机版(安装+配置+测试案例)
6 0
|
4月前
|
分布式计算 监控 Java
Note_Spark_Day02:Standalone集群模式和使用IDEA开发应用程序
Note_Spark_Day02:Standalone集群模式和使用IDEA开发应用程序
51 0
|
7月前
|
分布式计算 大数据 Spark
基于Docker搭建大数据集群(四)Spark部署
基于Docker搭建大数据集群(四)Spark部署
|
2月前
|
分布式计算 数据处理 Scala
Spark 集群和 Scala 编程语言的关系
Spark 集群和 Scala 编程语言的关系
29 0
|
5月前
|
分布式计算 Java Scala
配置spark,并在idea中搭建项目
配置spark,并在idea中搭建项目
71 0
|
6月前
|
SQL 分布式计算 Hadoop
配置Hive使用Spark执行引擎
在Hive中,可以通过配置来指定使用不同的执行引擎。Hive执行引擎包括:默认MR、tez、spark。
151 0
|
6月前
|
分布式计算 资源调度 Hadoop
Spark on Yarn集群模式搭建及测试
Spark on Yarn集群模式搭建及测试
154 0
|
7月前
|
分布式计算 资源调度 监控
Spark Yarn模式部署集群
Spark Yarn模式部署集群
49 1
|
7月前
|
分布式计算 监控 大数据
大数据Spark Standalone集群 2
大数据Spark Standalone集群
44 0