Spark配置高可用(HA)

基本介绍

所谓的高可用是因为当前集群中的 Master 节点只有一个,所以会存在单点故障问题。所以
为了解决单点故障问题,需要在集群中配置多个 Master 节点,一旦处于活动状态的 Master
发生故障时,由备用 Master 提供服务,保证作业可以继续执行。这里的高可用一般采用
Zookeeper 设置。

集群规划

在这里插入图片描述

步骤

1. 停止集群

[root@hadoop102 spark-standalone]# sbin/stop-all.sh

在这里插入图片描述

2. 启动Zookeeper

[root@hadoop102 zookeeper-3.4.10]# bin/zkServer.sh start

在这里插入图片描述

3. 修改Spark中的 spark-env.sh 文件,修改如下配置
注释如下内容

#SPARK_MASTER_HOST=hadoop102 
#SPARK_MASTER_PORT=7077

添加如下内容

#Master 监控页面默认访问端口为 8080,但是可能会和 Zookeeper 冲突,所以改成 8989,也可以自定义,访问 UI 监控页面时请注意 
SPARK_MASTER_WEBUI_PORT=8989 

export SPARK_DAEMON_JAVA_OPTS="  
-Dspark.deploy.recoveryMode=ZOOKEEPER  
-Dspark.deploy.zookeeper.url=hadoop102,hadoop103,hadoop104 
-Dspark.deploy.zookeeper.dir=/spark" 

在这里插入图片描述

4. 分发配置文件

[root@hadoop102 spark-standalone]# xsync conf/

在这里插入图片描述

5. 启动集群

[root@hadoop102 spark-standalone]# sbin/start-all.sh

在这里插入图片描述

6. 启动 hadoop103 的单独 Master 节点,此时linux2 节点 Master 状态处于备用状态

[root@hadoop103 spark-standalone]# sbin/start-master.sh

在这里插入图片描述

7. 提交应用到高可用集群

bin/spark-submit \ 
--class org.apache.spark.examples.SparkPi \ 
--master spark://hadoop102:7077,hadoop103:7077 \ 
./examples/jars/spark-examples_2.12-3.0.0.jar \ 
10 

在这里插入图片描述

8. 停止 hadoop102的 Master 资源监控进程

[root@hadoop102 spark-standalone]# kill -9 15635  //15635为自己的进程号

在这里插入图片描述
在这里插入图片描述

9. 查看hadoop103的 Master 资源监控Web UI,稍等一段时间后,hadoop103 节点的 Master 状态提升为活动状态
在这里插入图片描述

おすすめ

転載: blog.csdn.net/weixin_44480968/article/details/119580363