Spark基於zookeeper的HA
1. 準備
Zookeeper環境
參考:http://blog.csdn.net/mapengbo521521/article/details/41777721
Spark環境
參考:http://blog.csdn.net/mapengbo521521/article/details/49966677
2. 配置spark
進到spark的配置目錄,在spark-env.sh修改如下
Export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop1:2181,spark2:2181 -Dspark.deploy.zookeeper.dir=/spark"
export JAVA_HOME=/home/hadoop/jdk/jdk1.7.0_21
#export SPARK_MASTER_IP= hadoop1
#export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=1g
把這個配置文件分發到各個節點上去
scp spark-env.sh root@hadoop2: $SPARK_HOME /conf/
scp spark-env.sh root@hadoop3: $SPARK_HOME /conf/
啓動spark集羣
Sbin/start-all.sh
進入hadoop2節點,啓動start-master.sh 當hadoop1節點掛掉時hadoop2頂上充當master
jps查看hadoop1 和hadoop2 均存在Master進程
3. 測試HA是否生效
查看hadoop1 和hadoop2 均存在Master進程,hadoop2處於待命狀態
在hadoop1上把master節點停掉 sbin/stop-master.sh
訪問http://hadoop1:8080,發現已經掛掉。
訪問http://hadoop2:8080,發現hadoop2已經已經接管了hadoop1成爲主節點。