Sprak Standalone-HA

Standalone-HA高可用模式  (解决 单点 问题

原理

Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单点故障的问题。

如何解决这个单点故障的问题,Spark提供了两种方案:

1.基于文件系统的单点恢复(Single-Node Recovery with Local File System)--只能用于开发或测试环境。

2.基于zookeeper的Standby Masters(Standby Masters with ZooKeeper)--可以用于生产环境。

配置HA

该HA方案使用起来很简单,首先启动一个ZooKeeper集群,然后在不同节点上启动Master,注意这些节点需要具有相同的zookeeper配置。

●先停止Sprak集群

/export/servers/spark/sbin/stop-all.sh

 

●在node01上配置:

vim /export/servers/spark/conf/spark-env.sh

 

●注释掉Master配置

#export SPARK_MASTER_HOST=node01

●在spark-env.sh添加SPARK_DAEMON_JAVA_OPTS,内容如下:

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER  -Dspark.deploy.zookeeper.url=node001:2181,node002:2181,node003:2181  -Dspark.deploy.zookeeper.dir=/spark"

参数说明

spark.deploy.recoveryMode:恢复模式

spark.deploy.zookeeper.url:ZooKeeper的Server地址

spark.deploy.zookeeper.dir:保存集群元数据信息的文件、目录。包括Worker、Driver、Application信息。

 

●scp到其他节点

scp /export/servers/spark-2.2.0-bin-2.6.0-cdh5.14.0/conf/spark-env.sh node02:/$PWD

scp /export/servers/spark-2.2.0-bin-2.6.0-cdh5.14.0/spark-env.sh node003:/$PWD

 

  1. 启动zk集群

zkServer.sh status

zkServer.sh stop

zkServer.sh start

 2 . 启动Spark集群

●node001上启动Spark集群执行

/export/servers/spark/sbin/start-all.sh

 

●在node002上再单独只起个master:    启动第二个 master

/export/servers/spark/sbin/start-master.sh

 

●注意:

在普通模式下启动spark集群

只需要在主节点上执行start-all.sh 就可以了

在高可用模式下启动spark集群

先需要在任意一台主节点上执行start-all.sh

然后在另外一台主节点上单独执行start-master.sh

 

●查看node001和node002

http://node001:8080/

http://node002:8080/

可以观察到有一台状态为StandBy

  1. 测试HA

●测试主备切换

1.在node001上使用jps查看master进程id

2.使用kill -9 id号强制结束该进程

3.稍等片刻后刷新node002的web界面发现node02为Alive

​​​​​​​

 等一会儿   node02  Alive

​​​​​​​

 

●测试集群模式提交任务

1.集群模式启动spark-shell

/export/servers/spark/bin/spark-shell --master spark://node01:7077,node02:7077

2.运行程序

sc.textFile("hdfs://node001:8020/tt.txt")

.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _)

.saveAsTextFile("hdfs://node001:8020/wordcount/output1")

发布了218 篇原创文章 · 获赞 291 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/bbvjx1314/article/details/105286066