文章目录

  • 基本概念
  • 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/

spark standaloe cluser指定用户_jar


(2)修改文件名

[root@hadoop102 module]# mv spark-3.0.0-bin-hadoop3.2 spark-standalone

spark standaloe cluser指定用户_spark_02

2.修改配置文件

(1) 进入解压缩后路径的 conf 目录,修改slaves.template 文件名为slaves

[root@hadoop102 conf]# mv slaves.template slaves

(2)修改 slaves 文件,添加work 节点

hadoop102
hadoop103
hadoop104

spark standaloe cluser指定用户_jar_03

(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

spark standaloe cluser指定用户_jar_04

注意:7077 端口,相当于hadoop3 内部通信的8020 端口,此处的端口需要确认自己的Hadoop配置

(5)分发 spark-standalone 目录

[root@hadoop102 module]# xsync spark-standalone

spark standaloe cluser指定用户_大数据_05

启动集群

1. 执行脚本命令

[root@hadoop102 spark-standalone]# sbin/start-all.sh

spark standaloe cluser指定用户_spark_06

2. 查看服务运行的进程

spark standaloe cluser指定用户_jar_07


spark standaloe cluser指定用户_hadoop_08


spark standaloe cluser指定用户_spark_09

3. 查看 UI 界面

查看Master 资源监控Web UI 界面: http://hadoop102:8080

spark standaloe cluser指定用户_大数据_10

测试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. 结果截图

spark standaloe cluser指定用户_spark_11


执行任务时候,会产生多个Java进程

spark standaloe cluser指定用户_jar_12


执行任务时,默认采用服务器集群节点的总核数,每个节点内存1024M

spark standaloe cluser指定用户_spark_13