下载安装
官网下载预编译版本:https://spark.apache.org/downloads.html Spark的版本选择地址
本次使用的Spark 3.2.1 版本下载地址:https://dlcdn.apache.org/spark/spark-3.2.1/spark-3.2.1-bin-hadoop3.2.tgz
将tgz解压到安装目录后同步到所有机器
配置Spark环境变量(全部机器)
vim /etc/profile
//在文件中输入如下内容
export SPARK_HOME=/opt/spark-3.2.1-bin-hadoop3.2
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME
//使文件生效
source /etc/profile
bigdata1
、bigdata2
、bigdata3
、bigdata4
。/opt/spark-3.2.1-bin-hadoop3.2
/data/spark/work
配置Spark的配置文件
cp slaves.template slaves
cp spark-defaults.conf.template spark-defaults.conf
cp spark-env.sh.template spark-env.sh
首先配置slaves文件,指定Spark的worker节点有哪些
bigdata2
bigdata3
bigdata4
配置spark-defaults.conf
spark.master spark://bigdata1:7077
配置spark-env.sh
SPARK_MASTER_HOST=bigdata1
SPARK_MASTER_PORT=7077
SPARK_MASTER_WEBUI_PORT=8080
SPARK_WORKER_WEBUI_PORT=8081
# spark运行应用程序的临时目录,包括日志和临时空间,默认值为spark安装目录下的work目录
SPARK_WORKER_DIR=/data/spark/work
# spark运行时pid存放的目录,这个默认是在/tmp下
SPARK_PID_DIR=/var/run
将配置文件同步到其他机器
rsync -av spark-3.2.1-bin-hadoop3.2 bigdata2:/opt
rsync -av spark-3.2.1-bin-hadoop3.2 bigdata3:/opt
rsync -av spark-3.2.1-bin-hadoop3.2 bigdata4:/opt
启动Spark集群(master节点)
sbin/start-all.sh
访问master节点的8080端口即可查看集群状态
使用如下启动命令可启动相应master和worker。在master节点启动脚本,本机即为master节点,或者采用conf/spark-env.sh中绑定master主机号和端口号
sbin/start-master.sh
sbin/start-slaves.sh
sbin/start-all.sh
sbin/stop-master.sh
sbin/stop-slaves.sh
sbin/stop-all.sh
Spark使用
使用Spark有两种方式,一种是命令行方式,一种是提交程序方式
命令行
bin/spark-shell --master spark://bigdata1:7077
–master 参数指定集群主节点,如果指定 local[*] 则表示spark只调用主节点机器
提交程序
bin/spark-submit --properties-file properties.conf Spark-1.0-SNAPSHOT.jar
Spark中的配置优先级
SparkConf(程序代码) > spark-submit 或 spark-shell > spark-defaults.conf > spark-env.sh > 默认值
静态配置和动态配置
在代码中配置的为静态配置
在spark-submit提交和spark-default.conf设置的参数为动态配置
spark-defaults.conf 和 spark-env.sh 区别
spark-env.sh 配置全局的 Spark 服务级别的参数
spark-defaults.config 配置都是针对于 Spark 任务级别的,比如 driver、executor 的内存,jvm 参数等