Spark的安装部署以及程序测试

一、Spark的体系结构与安装部署

1.1 Spark集群的体系结构

官方的结构图:
在这里插入图片描述
更详细的结构图:
在这里插入图片描述

1.2 Spark的安装与部署

Spark的安装部署方式有以下几种模式:

Standalone
YARN
Mesos
Amazon EC2

(1)Spark Standalone伪分布的部署

配置文件:conf/spark-env.sh

export JAVA_HOME=/root/training/jdk1.7.0_75
export SPARK_MASTER_HOST=spark81
export SPARK_MASTER_PORT=7077

#下面的可以不写,默认
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=1024m

配置文件:conf/slave

spark81

(2)Spark Standalone全分布的部署

配置文件:conf/spark-env.sh

export JAVA_HOME=/root/training/jdk1.7.0_75
export SPARK_MASTER_HOST=spark82
export SPARK_MASTER_PORT=7077

#下面的可以不写,默认
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=1024m

配置文件 :conf/slave

spark83
spark84

(3)启动Spark集群:sbin/start-all.sh

ip:8080(端口号)
在这里插入图片描述

1.3 Spark HA的实现

(1)基于文件系统的单点恢复

主要用于开发或测试环境。当spark提供目录保存spark Application和worker的注册信息,并将他们的恢复状态写入该目录中,这时,一旦Master发生故障,就可以通过重新启动Master进程(sbin/start-master.sh),恢复已运行的spark Application和worker的注册信息。

基于文件系统的单点恢复,主要是在spark-env.sh里对SPARK_DAEMON_JAVA_OPTS设置

参数配置 参考值
spark.deploy.recoveryMode 设置为FILESYSTEM开启单点恢复功能,默认值:NONE
spark.deploy.recoveryDirectory Spark 保存恢复状态的目录
export SPARK_DAEMON_JAVA_OPTS=
"-Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirectory=
/root/training/spark-2.1.0-bin-hadoop2.7/recovery"

测试:
1、在spark82上启动Spark集群
2、在spark83上启动spark shell

 MASTER=spark://spark82:7077 spark-shell     

3、在spark82上停止master

 stop-master.sh     

4、观察spark83上的输出:
在这里插入图片描述
5、在spark82上重启master

start-master.sh

(2)基于Zookeeper的Standby Masters

ZooKeeper提供了一个Leader Election机制,利用这个机制可以保证虽然集群存在多个Master,但是只有一个是Active的,其他的都是Standby。当Active的Master出现故障时,另外的一个Standby Master会被选举出来。由于集群的信息,包括Worker, Driver和Application的信息都已经持久化到ZooKeeper,因此在切换的过程中只会影响新Job的提交,对于正在进行的Job没有任何的影响。加入ZooKeeper的集群整体架构如下图所示。
在这里插入图片描述

配置参数 参考值
spark.deploy.recoveryMode 设置为ZOOKEEPER开启单点恢复功能,默认值:NONE
spark.deploy.zookeeper.url ZooKeeper集群的地址
spark.deploy.zookeeper.dir Spark信息在ZK中的保存目录,默认:/spark

参考:

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值