版本配置:
spark-2.1.1-bin-hadoop2.7.tgz
hadoop2.7.3
zookeeper-3.4.10
架構圖:
在前面 Zookeeper、Spark JobHistoryServer配置、Spark Standalone模式與測試 的基礎上:
該文章配置的HA是針對Standalone模式的。
1)zookeeper 正常安裝並啓動
2)修改 spark-env.sh 文件添加如下配置:
註釋掉如下內容:
#SPARK_MASTER_HOST=hadoop102
#SPARK_MASTER_PORT=7077
添加上如下內容:
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=master,slave1,slave2,slave3 -Dspark.deploy.zookeeper.dir=/spark"
3)分發配置文件
[root@master conf]# xsync spark-env.sh
我使用的是scp
4)在 (master 機器)上關閉啓動全部節點
[root@master spark-2.1.1-bin-hadoop2.7]# sbin/stop-all.sh
[root@master spark-2.1.1-bin-hadoop2.7]# sbin/start-all.sh
5)slave1上單獨啓動 (Master 節點)
[root@slave1 spark-2.1.1-bin-hadoop2.7]# sbin/start-master.sh
6)spark HA 集羣訪問
在 /usr/local/BigDataApp/spark-2.1.1-bin-hadoop2.7 目錄下:
bin/spark-shell \ --master spark://master:7077,slave1:7077 \ --executor-memory 2g \ --total-executor-cores 2
測試:把master機器上的Master停掉,看看是否slave1機器上的Master狀態是否從STANDBY變爲ALIVE
然後在master機器上重新啓動下Master sbin/start-master.sh
測試成功!