Spark Standalone HA

Spark Standalone是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群类似,都存在着Master单点故障问题。目前Spark提供了两种方式来解决此问题,一种是基于文件系统的故障恢复模式,这种方法适合当Master进程挂点之后,直接重启即可;另一种方式基于ZooKeeper的HA方式,类似于HDFS的NameNode的HA方案,Active Master挂掉之后,Standby Master会立即切换过去继续对外提供服务。


在spark-env.sh 中用于指定Master的HA,依赖于Zookeeper集群

#JDK安装路径
export JAVA_HOME=/usr/lib/jvm/java7
#SCALA安装路径
export SCALA_HOME=/gome/software/spark/scala-2.11.8
#主节点的IP地址
#export SPARK_MASTER_IP=192.168.88.128
#分配的内存大小
export SPARK_WORKER_MEMORY=1024m
#指定hadoop的配置文件目录
export HADOOP_CONF_DIR=/home/hadoop-2.2/etc/hadoop
#指定worker工作时分配cpu数量
export SPARK_WORKER_CORES=1
#指定spark实例,一般1个足以
export SPARK_WORKER_INSTANCES=1
#jvm操作,在spark1.0之后增加了spark-defaults.conf默认配置文件,该配置参数在默认配置在该文件中
export SPARK_JAVA_OPTS
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181 -Dspark.deploy.zookeeper.dir=/spark"


修改spark-default .sh

spark.master                     spark://node1:7077,node2:7077
spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://node1:8020/tmp/logs/spark
spark.serializer                 org.apache.spark.serializer.KryoSerializer
#spark.driver.memory              5g
spark.executor.extraJavaOptions  -XX:+PrintGCDetails -Dkey=value -Dnumbers="one two three"


如果使用文件系统故障恢复模式,“spark.deploy.recoveryMode”属性对应的值为"FILESYSTEM”,且需要配置“spark.deploy.recoveryDirectory”属性,作为存储Spark的Master节点的相关信息,以便故障恢复时使用,此种模式可以结合NFS等共享文件系统,可以在当前Master进程挂掉时,在另一个节点启动Master继续提供服务。

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




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值