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在主備切換,無法配置設定資源