文章目录
- 基本概念
- Standalone模式搭建
- 1.解压缩文件
- 2.修改配置文件
- 启动集群
- 1. 执行脚本命令
- 2. 查看服务运行的进程
- 3. 查看 UI 界面
- 测试Spark中examples案例
- 1. 提交应用
- 2. 结果截图
基本概念
Spark的local 本地模式毕竟只是用来进行练习演示的,真实工作中还是要将应用提交到对应的集群中去执行,首先先学习只使用Spark 自身节点运行的集群模式,也就是所谓的独立部署(Standalone)模式。Spark 的Standalone 模式体现了经典的master-slave 模式。
Standalone模式搭建
集群规划:
集群 | hadoop102 | hadoop103 | hadoop104 |
Spark | Worker Master | Worker | Worker |
1.解压缩文件
将 spark-3.0.0-bin-hadoop3.2.tgz 文件上传到Linux 并解压缩在指定位置(路径中
不要包含中文或空格)
(1)解压文件
[root@hadoop102 software]# tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module/
(2)修改文件名
[root@hadoop102 module]# mv spark-3.0.0-bin-hadoop3.2 spark-standalone
2.修改配置文件
(1) 进入解压缩后路径的 conf 目录,修改slaves.template 文件名为slaves
[root@hadoop102 conf]# mv slaves.template slaves
(2)修改 slaves 文件,添加work 节点
hadoop102
hadoop103
hadoop104
(3)修改 spark-env.sh.template 文件名为spark-env.sh
[root@hadoop102 conf]# mv spark-env.sh.template spark-env.sh
(4)修改 spark-env.sh 文件,添加JAVA_HOME 环境变量和集群对应的 master 节点
export JAVA_HOME=/opt/module/jdk1.8.0_144
SPARK_MASTER_HOST=hadoop102
SPARK_MASTER_PORT=7077
注意:7077 端口,相当于hadoop3 内部通信的8020 端口,此处的端口需要确认自己的Hadoop配置
(5)分发 spark-standalone 目录
[root@hadoop102 module]# xsync spark-standalone
启动集群
1. 执行脚本命令
[root@hadoop102 spark-standalone]# sbin/start-all.sh
2. 查看服务运行的进程
3. 查看 UI 界面
查看Master 资源监控Web UI 界面: http://hadoop102:8080
测试Spark中examples案例
1. 提交应用
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop102:7077 \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10
其中
(1) --class 表示要执行程序的主类
(2) --master spark://hadoop102:7077 独立部署模式,连接到Spark 集群
(3) spark-examples_2.12-3.0.0.jar 运行类所在的jar 包
(4) 数字 10 表示程序的入口参数,用于设定当前应用的任务数量
2. 结果截图
执行任务时候,会产生多个Java进程
执行任务时,默认采用服务器集群节点的总核数,每个节点内存1024M