spark standalone模式的HA

参照官网文档:High Availability

一共有2中模式,基于文件系统、基于zookeeper。

1.基于文件系统,即将master的信息同步到某个文件目录中,当一个master挂掉之后,会启动宁外一个master读取目录的信息,正在执行的spark应用数据就不会丢失了。按照文档所说,在spark-env.sh中设置如下参数,重启即可。

SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirectory=/home/hadoop/apps/spark-1.3.0-bin-hadoop2.3/tmp"

(进入spark shell,定义一个变量并赋值,kill掉master进程,然后重启master,可以观察到刚刚的变量还可以使用。这个说法是错误的,即使所有的都挂掉了,变量还可以用。)

总结:1.需要手动重启master。2.经观察,目录spark.deploy.recoveryDirectory仅在master保存一份,在别的节点上不保存,还是存在风险,不知道是否可以存到hdfs上?

2.基于zookeeper,将数据存储到zoopeeper,有多个备用的master,按照文档所说,在spark-env.sh中设置如下参数,重启即可。

SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop1:2181,hadoop2:2181,hadoop3:2181 -Dspark.deploy.zookeeper.dir=/spark"

可以观察到一个master为active,宁外一个master为standby。当kill掉active的master,那么standby的master会切换成active。

 1.master节点会自动切换。2.需要在spark的spark-defaults.conf中配置master为

spark.master spark://hadoop2:7077,hadoop3:7077

 

 

 

 

 

 

转载于:https://my.oschina.net/cjun/blog/508246

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值