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在主备切换,无法分配资源