Spark配置高可用HA

目录

1 停止集群

2 启动Zookeeper

3 修改 spark-env.sh 文件

4 分发配置文件

5 启动集群

6 单节点启动hadoop103的Master

7 验证高可用性

7.1 关闭hadoop102的Master节点

7.2 观察hadoop103


        Spark高可用性(High Availability)是指在Spark集群中,当某个节点或组件出现故障时,系统可以自动切换到备用节点或组件,以保证整个集群的稳定性和可用性。Spark高可用性的实现可以通过以下两种方式之一:

  1. Spark Standalone模式的高可用性:使用Spark自带的HA机制,通过Zookeeper实现主节点的选举和故障转移,从而保证Spark集群的高可用性。

  2. Spark on YARN模式的高可用性:使用YARN ResourceManager的HA机制,通过ResourceManager的自动故障转移实现Spark集群的高可用性。

        Spark高可用性的实现可以提高Spark集群的稳定性和可靠性,降低系统故障对业务的影响。

Spark配置高可用HA_第1张图片

本篇文章使用ZooKeeper配置Spark Standalone模式的高可用性

1 停止集群

sbin/stop-all.sh

2 启动Zookeeper

[mingyu@hadoop102 hadoop-3.1.3]$ xzoo start

xzoo脚本如下

#!/bin/bash

if [ $# -lt 1 ]
then
    echo "No Args Input..."
    exit ;
fi

case $1 in
"start")
        echo " =================== 启动 ZooKeeper ==================="

    ssh hadoop102 "/opt/module/zookeeper-3.6.4-bin/bin/zkServer.sh start"
	ssh hadoop103 "/opt/module/zookeeper-3.6.4-bin/bin/zkServer.sh start"
	ssh hadoop104 "/opt/module/zookeeper-3.6.4-bin/bin/zkServer.sh start"
;;
"stop")
        echo " =================== 关闭 ZooKeeper ==================="

        ssh hadoop102 "/opt/module/zookeeper-3.6.4-bin/bin/zkServer.sh stop"
        ssh hadoop103 "/opt/module/zookeeper-3.6.4-bin/bin/zkServer.sh stop"
        ssh hadoop104 "/opt/module/zookeeper-3.6.4-bin/bin/zkServer.sh stop"
;;
"status")
        echo " =================== ZooKeeper状态 ==================="

        ssh hadoop102 "/opt/module/zookeeper-3.6.4-bin/bin/zkServer.sh status"
        ssh hadoop103 "/opt/module/zookeeper-3.6.4-bin/bin/zkServer.sh status"
        ssh hadoop104 "/opt/module/zookeeper-3.6.4-bin/bin/zkServer.sh status"
;;
*)
    echo "Input Args Error..."
;;
esac

3 修改 spark-env.sh 文件

#注 释 如 下 内 容 : 
#SPARK_MASTER_HOST=linux1 
#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=linux1,linux2,linux3
-Dspark.deploy.zookeeper.dir=/spark"

4 分发配置文件

xsync conf/

5 启动集群

sbin/start-all.sh

Spark配置高可用HA_第2张图片

 6 单节点启动hadoop103的Master

[mingyu@hadoop103 spark-standalone]$ sbin/start-master.sh

Spark配置高可用HA_第3张图片

 7 验证高可用性

7.1 关闭hadoop102的Master节点

Spark配置高可用HA_第4张图片

7.2 观察hadoop103

      STANDBY - > ALIVE

Spark配置高可用HA_第5张图片

你可能感兴趣的:(大数据,spark,大数据,分布式)