基情链接
模式说明
Cluster Mode Overview - Spark 3.1.2 Documentation (apache.org)
Spark Standalone Mode - Spark 2.4.5 Documentation (apache.org)
Standalone 集群使用了分布式计算中的 master-slave
模型,master
是集群中含有 Master
进程的节点,slave
是集群中的Worker 节点含有 Executor
进程
Spark Standalone 集群,类似Hadoop YARN,管理集群资源和调度资源
注:本博客使用的是集群模式(Standalone mode)
搭建准备
环境准备
云服务器 3 台
node1/172.17.0.8 | node2/172.17.30.12 | node3/172.17.30.26 |
---|---|---|
Master | Slave | Slave |
安装包下载
目前 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
、域名映射
安装及配置
① 上传解压
# 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
## 指定 spark Master 的 IP 和提交任务的通信端口
export SPARK_MASTER_HOST=node1
export SPARK_MASTER_PORT=7077
SPARK_MASTER_WEBUI_PORT=8080
SPARK_WORKER_CORES=1
SPARK_WORKER_MEMORY=1g
启动及测试
集群启动
第一种方式:一次启动
# 在主节点上启动spark集群
/opt/server/spark/sbin/start-all.sh
# 在主节点上停止spark集群
/opt/server/spark/sbin/stop-all.sh
第二种方式:分别启动
# 在 master 安装节点上启动和停止 master
start-master.sh
stop-master.sh
# 在 Master 所在节点上启动和停止 worker(work指的是slaves 配置文件中的主机名)
start-slaves.sh
stop-slaves.sh
访问测试
http://node1:8080/