Spark全分布部署和HA

全分布部署

配置文件:conf/spark-env.sh

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

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

在原节点上执行

Spark/sbin# ./start-all.sh

在备选的Master节点上执行

Spark/sbin# ./start-master.sh

你可能感兴趣的:(Spark全分布部署和HA)