当前位置: > > > Spark - 安装部署详细教程1(Local模式)

Spark - 安装部署详细教程1(Local模式)

Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。它主要有以下 4 种运行模式:
  • local:本地单进程模式,用于本地开发测试 Spark 代码。
  • standalone:分布式集群模式,Master-Worker 架构,Master 负责调度,Worker 负责具体 Task 的执行。
  • on yarn/mesos:运行在 yarn/mesos 等资源管理框架之上,yarn/mesos 提供资源管理,spark 提供计算调度,并可与其他计算框架(如 MapReduce/MPI/Storm)共同运行在同一个集群之上。
  • on cloudEC2):运行在 AWSEC2 之上
本文首先介绍 local 模式的部署和使用。

一、Local 模式

1,模式介绍

    Local 模式即为本地单进程模式,就是不需要其他任何节点资源就可以在本地执行 Spark 代码的环境,一般用于教学,调试,演示等。

2,环境准备

(1)首先服务器需要安装 JDK 并配置好 JAVA_HOME 环境,具体步骤可以参考我之前写的文章:

(2)接着访问 Apache Spark 官方下载页面(点击访问),选择合适的版本下载。这里我下载的是 3.4.1 版本:
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.mdmain 函数需要传入的参数,本样例该参数表示需要读取的文件地址。
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)执行完毕后控制台会输出各个单词数量统计:
评论0