天天看點

10.9 spark高可用

yarn送出任務不存在高可用問題

spark的高可用,實際上就是Master的高可用

1,先啟動zookeeper

2,修改spark的conf下spark-env.sh:加上 --注意配置好zookeer資訊 ,修改完同步其他節點spark-env.sh

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node2:2181,node3:2181,node4:2181 -Dspark.deploy.zookeeper.dir=/spark0416"

3,去sbin下啟動spark叢集:./start-all.sh

4,随便找一台非Master節點,修改conf/spark-env.sh SPARK_MASTER_IP=自己的IP --加入找的是node2

5,在這個非Master節點上啟動master ./sbin/start-master.sh

6,測試./spark-submit --master spark://node1:7077,node2:7077 --class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar 1000

問題解決:

問題描述:

1、./start-all.sh 啟動一個master

2、随便找了一台節點啟動master ./start-master.sh

結果呢? 這兩個master都是active狀态

問題查找:

出現這樣的問題,第一反應就是zookeeper沒有把Spark叢集協調好

再次确認是否是因為zookeeper沒有把Spark叢集協調好

zkCli.sh看一下zookeeper叢集中是否給我們建立出來一個我們指定的目錄

zookeeper就是沒有把Spark叢集協調好

如何解決?

spark-env.sh下面尋找問題

recover.mode=ZOOKEEPER

1、如果叢集中已經有Application在執行了,master主備切換的過程會不會對Application的執行有影響?

不會,因為在Application執行之前已經向Master申請過

2、master主備切換的過程,能不能送出application?

不能,因為master在主備切換,無法配置設定資源

繼續閱讀