Spark - 安装部署详细教程1(Local模式)
Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。它主要有以下 4 种运行模式:
(3)我们执行下面命令将下载下来的压缩包解压至指定目录(目录地址可以根据需要自行调整):
(4)然后进入 spark 目录:
(2)启动成功后,可以使用浏览器访问 Spark Web UI 监控页面(默认端口 4040):
(2)运行结果如下:
(3)执行完毕后控制台会输出各个单词数量统计:
- local:本地单进程模式,用于本地开发测试 Spark 代码。
- standalone:分布式集群模式,Master-Worker 架构,Master 负责调度,Worker 负责具体 Task 的执行。
- on yarn/mesos:运行在 yarn/mesos 等资源管理框架之上,yarn/mesos 提供资源管理,spark 提供计算调度,并可与其他计算框架(如 MapReduce/MPI/Storm)共同运行在同一个集群之上。
- on cloud(EC2):运行在 AWS 的 EC2 之上
本文首先介绍 local 模式的部署和使用。
一、Local 模式
1,模式介绍
Local 模式即为本地单进程模式,就是不需要其他任何节点资源就可以在本地执行 Spark 代码的环境,一般用于教学,调试,演示等。
2,环境准备
(1)首先服务器需要安装 JDK 并配置好 JAVA_HOME 环境,具体步骤可以参考我之前写的文章:
wget https://archive.apache.org/dist/spark/spark-3.4.1/spark-3.4.1-bin-hadoop3.tgz
(3)我们执行下面命令将下载下来的压缩包解压至指定目录(目录地址可以根据需要自行调整):
tar -zxvf spark-3.4.1-bin-hadoop3.tgz -C /usr/local
(4)然后进入 spark 目录:
cd /usr/local/spark-3.4.1-bin-hadoop3
3,启动 Local 环境
(1)在 spark 目录中,我们执行如下命令即可启动 Local 环境:
bin/spark-shell
(2)启动成功后,可以使用浏览器访问 Spark Web UI 监控页面(默认端口 4040):
4,执行命令
(1)在 spark-shell 命令行工具中,我们可以输入并执行 Scala 指令代码。比如下面命令通过 List 创建一个 RDD,并对里面元素进行聚合:
sc.makeRDD(List(1,2,3,4)).reduce(_+_)
(2)运行结果如下:
5,提交应用
(1)Spark 安装包内已经包含一些示例 Jar 包,位于 examples 目录下。我们可以直接用来测试 spark-submit 功能:
(2)这里执行如下命令(先退出 shell 交互命令)提交 spark-examples_2.12-3.4.1.jar 这个应用,并且提交时还需额外指定程序入口类,即 main 函数所在类。这里我使用统计词频的入口类 org.apache.spark.examples.JavaWordCount。
参数说明:
- --master local[2] 部署模式,默认为本地模式,数字表示分配的虚拟 CPU 核数量。
- /opt/bitnami/spark/README.md:main 函数需要传入的参数,本样例该参数表示需要读取的文件地址。
bin/spark-submit --master local[2] \ --class org.apache.spark.examples.JavaWordCount \ examples/jars/spark-examples_2.12-3.4.1.jar \ /usr/local/spark-3.4.1-bin-hadoop3/README.md
(3)执行完毕后控制台会输出各个单词数量统计: