配置Spark的HA

一、修改spark-env.sh的配置文件

1.1、每个结点添加如下配置

#配置HA, 主要配置spark.deploy.recoveryMode指定zookeeper,及zookeeper.url
#同时要配置 SPARK_MASTER_IP 为slave1, 为本机hostname或ip
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master:3384,slave1:3384,slave2:3384"

1.2、在standby结点上修改SPARK_MASTER_IP为本节点ip或hostname

如设置slave1为standby

export SPARK_MASTER_IP=slave1

1.3、在master节点上启动所有节点

cd /opt/spark-1.6.1-bin-hadoop2.6/spark-1.6.1-bin-hadoop2.6/sbin
./start-all.sh 

http://192.168.1.224:8080/

这里写图片描述

1.4、在standby节点上启动一个master进程

cd /opt/spark-1.6.1-bin-hadoop2.6/spark-1.6.1-bin-hadoop2.6/sbin
./start-master.sh 

这里写图片描述

二、启动一个程序

cd /opt/spark-1.6.1-bin-hadoop2.6/spark-1.6.1-bin-hadoop2.6/bin
./spark-shell --master spark://slave1:7077 

在spark的web界面可以看到运行的application

这里写图片描述

三、切换master

3.1、在ALive的节点, 杀死master进程

[root@master spark-1.6.1-bin-hadoop2.6]# ./sbin/stop-master.sh    
stopping org.apache.spark.deploy.master.Master
[root@master spark-1.6.1-bin-hadoop2.6]# pwd
/opt/spark-1.6.1-bin-hadoop2.6/spark-1.6.1-bin-hadoop2.6
[root@master spark-1.6.1-bin-hadoop2.6]# 

Alive的master死掉

3.2、经过延时, standby节点变成Alive, 已经运行的appication将会切到新的master上。

这里写图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐