美文网首页
Spark学习笔记八:Standalone模式Master高可用

Spark学习笔记八:Standalone模式Master高可用

作者: 开发者连小超 | 来源:发表于2019-12-25 15:46 被阅读0次

高可用原理

Standalone集群只有一个Master,如果Master挂了就无法提交应用程序,需要给Master进行高可用配置,Master的高可用可以使用fileSystem(文件系统)和zookeeper(分布式协调服务)。

fileSystem只有存储功能,可以存储Master的元数据信息,用fileSystem搭建的Master高可用,在Master失败时,需要我们手动启动另外的备用Master,这种方式不推荐使用。

zookeeper有选举和存储功能,可以存储Master的元素据信息,使用zookeeper搭建的Master高可用,当Master挂掉时,备用的Master会自动切换,推荐使用这种方式搭建Master的HA。


Standalone模式Master高可用.png

高可用搭建

1.在Spark Master节点上配置主Master,配置spark-env.sh

export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=node02:2181,node03:2181,node04:2181 
-Dspark.deploy.zookeeper.dir=/sparkmaster"

2.发送到其他worker节点上
3.找一台节点(非主Master节点)配置备用 Master,修改spark-env.sh配置

export SPARK_MASTER_HOST=node02

4.启动集群之前启动zookeeper集群
5.启动spark Standalone集群,启动备用Master

#node01
[root@node04 sbin] ./start-all.sh
#node02
[root@node04 sbin] ./start-master.sh

6.打开主Master和备用Master WebUI页面,观察状态

注意点

  • 主备切换过程中不能提交Application。
  • 主备切换过程中不影响已经在集群中运行的Application。因为Spark是粗粒度资源调度。

测试验证
提交SparkPi程序,kill主Master观察现象。

[root@node01 bin]./spark-submit 
--master spark://node01:7077,node02:7077
--class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100

相关文章

网友评论

      本文标题:Spark学习笔记八:Standalone模式Master高可用

      本文链接:https://www.haomeiwen.com/subject/jfmcoctx.html