天天看点

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

继续阅读