Spark 环境搭建-Standalone HA

基情链接

Spark 环境搭建-Local

Spark 环境搭建-Standalone

Spark 环境搭建-Standalone HA

环境搭建-Spark on YARN

模式说明

Spark Standalone Mode - Spark 2.4.5 Documentation (apache.org)

Spark Standalone 集群是 Master-Slaves 架构的集群模式,和大部分的 Master-Slaves 结构集群一样,存在着 Master 单点故障的问题,该模式基于 Zookeeper 实现 HA

当 Active 的 Master 出现故障时,另外的一个 Standby Master 会被选举出来。由于集群的信息,包括 Worker, Driver 和 Application 的信息都已经持久化到文件系统,因此在切换的过程中只会影响新 Job 的提交,对于正在进行的 Job 没有任何的影响
在这里插入图片描述

搭建准备

环境准备

云服务器 3 台

node1/172.17.0.8node2/172.17.30.12node3/172.17.30.26
备、从

安装包下载

目前 Spark 最新稳定版本,企业中使用较多版本为 2.x 的版本系列

Spark 下载界面:Downloads | Apache Spark

Spark 2.4.5 版本下载:Index of /dist/spark/spark-2.4.5 (apache.org)

本博客安装的版本为:spark-2.4.5-bin-hadoop2.7.tgz

环境配置

3 台服务器装好 JDK、配置 服务器的 hostname 、域名映射、zk 集群

安装及配置

① 上传解压

# 3 台服务器都操作
# 解压软件包
tar -zxvf spark-2.4.5-bin-hadoop2.7.tgz

# 创建软连接
ln -s /opt/server/spark-2.4.5-bin-hadoop2.7 /opt/server/spark

② 修改配置文件:slaves

# 3 台服务器都操作
cd /opt/server/spark/conf

# 修改文件名
mv slaves.template slaves
# 编辑文件
vim slaves
node1
node2
node3

③ 修改配置文件:spark-env.sh

# 3 台服务器都操作
cd /opt/server/spark/conf

# 修改文件名
mv spark-env.sh.template spark-env.sh
# 编辑文件
vim spark-env.sh
## 设置 JAVA 安装目录
JAVA_HOME=/usr/java/jdk1.8.0_172

## 指定提交任务的通信端口
export SPARK_MASTER_PORT=7077

## 指定恢复模式、zk的server地址、保存集群元数据信息的文件和目录(包括Worker、Driver、Application信息)
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181 -Dspark.deploy.zookeeper.dir=/spark-ha"

SPARK_MASTER_WEBUI_PORT=8080
SPARK_WORKER_CORES=1
SPARK_WORKER_MEMORY=1g

启动及测试

集群启动

# 在 node1 上执行
/opt/server/spark/sbin/start-all.sh 
# 在 node2 上执行
/opt/server/spark/sbin/start-master.sh

在这里插入图片描述
在这里插入图片描述
访问测试

http://node1:8080/

http://node2:8080/
在这里插入图片描述
在这里插入图片描述

测试主备切换

node1 上使用查看 master 进程,并将该进程杀掉,观察 node2web 界面 node2 是否为 Alive
在这里插入图片描述
测试获取文件行数

# 启动 spark-shell
cd /opt/server/spark
bin/spark-shell --master spark://node1:7077,node2:7077
# 获取已经上传的文件
val textFile = sc.textFile("hdfs://node1:8020/tmp/student.txt")
# 统计行数
textFile.count()

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值