spark

本文详细介绍了如何在Linux环境下安装Spark Standalone集群,包括下载解压、设置环境变量、修改配置、启动集群、验证运行,以及配置高可用方案,使用Zookeeper实现Standby Master。同时,还涵盖了HistoryServer的设置和集群关闭步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装

1、下载软件解压缩,移动到指定位置

cd /opt/software/

tar zxvf spark-2.4.5-bin-without-hadoop-scala-2.12.tgz

mv spark-2.4.5-bin-without-hadoop-scala-2.12/ ../servers/spark-2.4.5/

2、设置环境变量,并使之生效

vi /etc/profile

export SPARK_HOME=/opt/servers/spark-2.4.5 export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

source /etc/profile 

3、修改配置

cd $SPARK_HOME/conf 

把template文件改成

slaves、spark-defaults.conf、spark-env.sh、log4j.properties more slaves

4、Standalone模式(独立模式)

vim slaves

linux126
linux127
linux128

 vim spark-defaults.conf

spark.master spark://linux128:7077
spark.eventLog.enabled true  
spark.eventLog.dir hdfs://linux126:9000/spark-eventlog
spark.serializer
org.apache.spark.serializer.KryoSerializer
spark.driver.memory 512m

如果不用hadoop, vim spark-defaults.conf可以配置成

spark.master spark://linux128:7077

spark.driver.memory 512m

vim spark-env.sh

export JAVA_HOME=/opt/servers/jdk1.8.0_231
export HADOOP_HOME=/opt/servers/hadoop-2.9.2
export HADOOP_CONF_DIR=/opt/servers/hadoop2.9.2/etc/hadoop
export SPARK_DIST_CLASSPATH=$(/opt/servers/hadoop2.9.2/bin/hadoop classpath)
export SPARK_MASTER_HOST=linux128
export SPARK_MASTER_PORT=7077

 复制spark2.4.5到各个节点

cd /opt/lagou/servers/

scp -r spark-2.4.5/ linux122:$PWD

scp -r spark-2.4.5/ linux123:$PW

5、启动集群

在linux128节点上

先启动hdfs和zk

 cd $SPARK_HOME/sbin

./start-all.sh

6、验证 

http://192.168.226.128:8080/

 验证

run-example SparkPi 1000

或者

spark-shell

输入

val lines = sc.textFile("/wc/wc.txt")
lines.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect().foreach(println)

7、History Server

在linux128上

vim spark-defaults.conf

 vim $SPARK_HOME/spark-env.sh

export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=50 -Dspark.history.fs.logDirectory=hdfs://linux126:9000/spark-eventlog"

修改后,并分发到集群中

启动hdfs

linux128上 
cd $SPARK_HOME/sbin

./start-history-server.sh


验证 jps
或者
浏览器访问linux128:18080

8、高可用配置

linux128上 vim $SPARK_HOME/spark-env.sh

复制下面内容 

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=linux126,linux127,linux128 -Dspark.deploy.zookeeper.dir=/spark"

分发到其它节点 

Spark Standalone集群是 Master-Slaves架构的集群模式,和大部分的MasterSlaves结构集群一样,存着Master单点故障的问题。如何解决这个问题,Spark提供 了两种方案:

(1)基于zookeeper的Standby Master,适用于生产模式。将 Spark 集群连接到 Zookeeper,利用 Zookeeper 提供的选举和状态保存的功能,一个 Master 处于 Active 状态,其他 Master 处于Standby状态; 保证在ZK中的元数据主要是集群的信息,包括:Worker,Driver和Application以及 Executors的信息;

如果Active的Master挂掉了,通过选举产生新的 Active 的 Master,然后执行状态恢 复,整个恢复过程可能需要1~2分钟;

(2)基于文件系统的单点恢复(Single-Node Rcovery with Local File System), 主要用于开发或者测试环境。将 Spark Application 和 Worker 的注册信息保存在文 件中,一旦Master发生故障,就可以重新启动Master进程,将系统恢复到之前的状 态

本文,我们进行方案一

启动集群zookeeper

在linux126上

sh /root/shells/zk.sh start

linux128启动 Spark 集群

$SPARK_HOME/sbin/start-all.sh

在 linux127 上启动master

$SPARK_HOME/sbin/start-master.sh

杀到linux128上 Master 进程,再观察 linux127 上 Master 状态,由 STANDBY
=> RECOVERING => ALIVE

本地模式

关闭集群
 cd $SPARK_HOME/sbin
./stop-all.sh


不启动hdfs
​
 vim spark-defaults.conf可以配置成

spark.master spark://linux128:7077
spark.driver.memory 512m



启动 其它linux上的spark
spark-shell --master local
或者
spark-shell --master local[*]   表示两核


val lines = sc.textFile("file:///root/wc/wc.txt")
lines.count

伪分布式

spark-shell --master local-cluster[3,1,256]

集群模式--Yarn模式 

需要启动的服务:hdfs服务、yarn服务 historyserver 服务 需要关闭 Standalone 对应的服务(即集群中的Master、Worker进程),一山不容二 虎!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值