搭建Spark高可用集群

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq403580298/article/details/83056121

通过zookeeper搭建高可用spark集群
1、需要搭建一个zk集群
2、配置文件修改(spark-env.sh
注释掉

export SPARK_MASTER_HOST=hdp-node-01

添加 SPARK_DAEMON_JAVA_OPTS

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER  -Dspark.deploy.zookeeper.url=hdp-node-01:2181,hdp-node-02:2181,hdp-node-03:2181  -Dspark.deploy.zookeeper.dir=/spark"

参数说明:

spark.deploy.recoveryMode:恢复模式(Master 重新启动的模式)有三种:(1)ZooKeeper (2) FileSystem (3)NONE
spark.deploy.zookeeper.url:ZooKeeper 的 Server 地址
spark.deploy.zookeeper.dir:保存集群元数据信息的文件、目录。包括 Worker,Driver 和 Application

3、启动zk集群
4、在一台节点上启动spark集群

start-all.sh

5、在另一台节点单独启动master

start-master.sh

理论知识:

Spark Standalone 集群是 Master-Slaves 架构的集群模式,和大部分的
Master-Slaves 结构集群一样,存在着 Master 单点故障的问题。如何解决这个
单点故障的问题,Spark 提供了两种方案:
(1)基 于 文 件 系 统 的 单 点 恢 复 (Single-Node Recovery with Local File
System)。
主要用于开发或测试环境。当 spark 提供目录保存 spark Application
和 worker 的注册信息,并将他们的恢复状态写入该目录中,这时,一旦 Master
发生故障,就可以通过重新启动 Master 进程(sbin/start-master.sh),恢复
已运行的 spark Application 和 worker 的注册信息。
(2)基于 zookeeper 的 Standby Masters(Standby Masters with ZooKeeper)。
用于生产模式。其基本原理是通过 zookeeper 来选举一个 Master,其他
的 Master 处于 Standby 状态。将 spark 集群连接到同一个 ZooKeeper 实例并启
动多个 Master,利用 zookeeper 提供的选举和状态保存功能,可以使一个 Master
被选举成活着的 master,而其他 Master 处于 Standby 状态。如果现任 Master
死去,另一个 Master 会通过选举产生,并恢复到旧的 Master 状态,然后恢复调
度。整个恢复过程可能要 1-2 分钟。

猜你喜欢

转载自blog.csdn.net/qq403580298/article/details/83056121