转载来自:忘了,后来自己修修改改,也就没留意,从哪转的了,抱歉了。
一:配置Spark的HA
集群:
10.162.0.101 | 主master |
10.162.2.21 | 备master |
10.162.2.39 | Worker |
10.162.2.109 | Worker |
10.162.2.122 | Worker |
1.1、每个结点添加如下配置
首先配置spark-env.sh
(1)master和slave节点均配置如下:
exportSPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER-Dspark.deploy.zookeeper.url=master:3384,slave1:3384,slave2:3384"
(2)两个master节点均指定master ip:
第一个master节点10.162.0.101:(暂定为主master)
export SPARK_MASTER_IP=10.162.0.101
第二个master节点10.162.2.21:
export SPARK_MASTER_IP=10.162.2.21
(3)两个master节点均配置如下:(也可以不配置,我配置了)
exportSPARK_MASTER_PORT=1234 (默认7077)
exportSPARK_MASTER_WEBUI_PORT=1233 (默认8080)
再配置slaves,内容如下:(传到每个节点,master和slave均要)
10.162.2.39
10.162.2.109
10.162.2.122
1.2、在主master节点10.162.0.101上启动所有节点
./sbin/start-all.sh
可在主master节点jps看到:Master进程
在从节点jps看到:Worker进程
http://10.162.0.101:1233/
1.4、在standby节点10.162.2.21上启动一个master进程
./sbin/start-master.sh
启动后可在本节点看到:Master进程
web页面wei为standby
二、启动一个程序
./bin/spark-shell --master spark:// 10.162.0.101:1234
在spark的web界面可以看到运行的application
三、切换master
3.1、在ALive的节点, 杀死master进程
./sbin/stop-master.sh
Alive的master死掉
3.2、经过延时, standby节点变成Alive, 已经运行的appication将会切到新的master上。