全分布部署
配置文件:conf/spark-env.sh
代码语言:javascript复制export JAVA_HOME=/root/training/jdk1.7.0_75
export SPARK_MASTER_HOST=spark1
export SPARK_MASTER_PORT=7077
#下面的可以不写,默认
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=1024m
配置文件:conf/slave
代码语言:javascript复制spark2
spark3
启动Spark集群:start-all.sh
HA
基于Zookeeper的Standby Masters ZooKeeper提供了一个Leader Election机制,利用这个机制可以保证虽然集群存在多个Master,但是只有一个是Active的,其他的都是Standby。当Active的Master出现故障时,另外的一个Standby Master会被选举出来。由于集群的信息,包括Worker, Driver和Application的信息都已经持久化到ZooKeeper,因此在切换的过程中只会影响新Job的提交,对于正在进行的Job没有任何的影响。加入ZooKeeper的集群整体架构如下图所示。
1.png
参考: export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=bigdata12:2181,bigdata13:2181,bigdata14:2181 -Dspark.deploy.zookeeper.dir=/spark"
另外:每个节点上,需要将以下两行注释掉。
1.png
在原节点上执行
代码语言:javascript复制Spark/sbin# ./start-all.sh
在备选的Master节点上执行
代码语言:javascript复制Spark/sbin# ./start-master.sh