Spark快速入门系列(6) | Spark环境搭建—standalone(3) 配置HA高可用模式

举报
不温卜火 发表于 2021/01/07 19:35:34 2021/01/07
【摘要】   大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客...

  大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客主页:https://buwenbuhuo.blog.csdn.net/

  此篇为大家带来的是Spark环境搭建—standalone(3) 配置HA高可用模式。
1


2

一. 原理

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

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

  • 1.基于文件系统的单点恢复(Single-Node Recovery with Local File System)–只能用于开发或测试环境。
  • 2.基于zookeeper的Standby Masters(Standby Masters with ZooKeeper)–可以用于生产环境。

3
  可以启动多个 master, 先启动的处于 Active 状态, 其他的都处于 Standby 状态。

二. 配置HA

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

  • 1. 修改spark-env.sh配置
[bigdata@hadoop002 spark]$ cd conf/
[bigdata@hadoop002 conf]$ vim spark-env.sh # 注释掉如下内容:
#SPARK_MASTER_HOST=hadoop002
#SPARK_MASTER_PORT=7077

# 添加上如下内容:
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop002:2181,hadoop003:2181,hadoop004:2181 -Dspark.deploy.zookeeper.dir=/spark"


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

4
参数说明

1. spark.deploy.recoveryMode:恢复模式
2. spark.deploy.zookeeper.url:ZooKeeper的Server地址
3. spark.deploy.zookeeper.dir:保存集群元数据信息的文件、目录。包括Worker、Driver、Application信息。


  
 
  • 1
  • 2
  • 3
  • 4
  • 2. 分发配置文件
// copy到hadoop003
scp /opt/module/spark/conf/spark-env.sh hadoop003:/opt/module/spark/conf/

// copy到hadoop004
scp /opt/module/spark/conf/spark-env.sh hadoop004:/opt/module/spark/conf/

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

5

  • 3. 启动 Zookeeper
[bigdata@hadoop002 spark]$ cd /opt/module/zookeeper-3.4.10/
[bigdata@hadoop002 zookeeper-3.4.10]$ bin/start-allzk.sh 


  
 
  • 1
  • 2
  • 3

6

  • 4. 在 hadoop002 启动全部节点
[bigdata@hadoop002 module]$ cd spark/
[bigdata@hadoop002 spark]$ start-all.sh 

  
 
  • 1
  • 2

7

  • 5. 在 hadoop003 启动一个 master
[bigdata@hadoop003 spark]$ sbin/start-master.sh

  
 
  • 1

8

  • 6. 查看 master 的状态

9
10
注意:

在普通模式下启动spark集群
只需要在主节点上执行start-all.sh 就可以了
在高可用模式下启动spark集群
先需要在任意一台主节点上执行start-all.sh
然后在另外一台主节点上单独执行start-master.sh

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

三. 测试HA

测试主备切换

在hadoop002上使用jps查看master进程id
使用kill -9 id号强制结束该进程
稍等片刻后刷新hadoop003的web界面发现hadoop003为Alive

  
 
  • 1
  • 2
  • 3

11
12
13
  本次的分享就到这里了,


14

  好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
  如果我的博客对你有帮助、如果你喜欢我的博客内容,请“点赞” “评论”“收藏”一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
  码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注我哦!

15
16

文章来源: buwenbuhuo.blog.csdn.net,作者:不温卜火,版权归原作者所有,如需转载,请联系作者。

原文链接:buwenbuhuo.blog.csdn.net/article/details/107403917

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。