实验3-Spark基础-Spark的安装

文章目录

      • [1. 下载安装 Scala](#1. 下载安装 Scala)
        • [1.1 下载 Scala 安装包](#1.1 下载 Scala 安装包)
        • [1.2 基础环境准备](#1.2 基础环境准备)
        • [1.3 安装 Scala](#1.3 安装 Scala)
      • [2. 下载安装 Spark](#2. 下载安装 Spark)
        • [2.1 下载 Spark 安装包](#2.1 下载 Spark 安装包)
        • [2.2 安装 Spark](#2.2 安装 Spark)
        • [2.3 配置 Spark](#2.3 配置 Spark)
        • [2.4 创建配置文件 spark-env.sh](#2.4 创建配置文件 spark-env.sh)
      • [3. pyspark 启动](#3. pyspark 启动)
      • [4. 建立/user/spark文件夹](#4. 建立/user/spark文件夹)

1. 下载安装 Scala

1.1 下载 Scala 安装包

下载地址 https://www.scala-lang.org/download/ 。此指导书中使用的 Scala 版本为 scala-2.11.12.tgz ,实验环境中存放在 /hadoop-packages/ 目录下。(在平台做实验本部分不需要自己下载)

1.2 基础环境准备

配置 Scala 环境之前需要有 Hadoop 。实验环境中已经安装配置好了 Hadoop 伪分布式环境 。执行 HDFS 的启动命令:

c 复制代码
start-all.sh
c 复制代码
jps

5345 SecondaryNameNode

5093 DataNode

5958 NodeManager

6135 Jps

5628 ResourceManager

4924 NameNode

检查启动成功。通过命令 jps,能看到 NameNode,DataNode 和 SecondaryNameNode 都已经成功启动,表示 Hadoop 启动成功。

实操环节:

点击HDFS 的启动:

输入指令"start-all.sh":

输入指令"jps":

1.3 安装 Scala

步骤1: 解压安装包 scala-2.11.12.tgz 至路径 /opt,在 Linux 系统终端中执行以下命令:

c 复制代码
sudo tar zxvf /hadoop-packages/scala-2.11.12.tgz -C /opt/

步骤2: 将解压的文件夹名 scala-2.11.12 改为 scala,以方便使用,命令如下:

c 复制代码
cd /opt/

sudo mv scala-2.11.12/ scala/

改名后的 /opt/ 目录可以输入"ll"查看,下图是示例。

步骤3: 配置环境变量,将 scala 目录下的 bin 目录添加到 path 中,这样使用 Scala 时就无须到 /opt/scala 目录下,以方便 Scala 的使用。编辑 ~/.bashrc 文件,执行以下命令:

c 复制代码
sudo vim ~/.bashrc

输入显示:

点击"i"按键进入编辑模式:

请在 ~/.bashrc 文件中添加如下内容。如图所示。

c 复制代码
export SCALA_HOME=/opt/scalaexport PATH=$SCALA_HOME/bin:$PATH

步骤4: 按 Esc 键退回一般模式,然后输入 :wq 命令并回车保存退出文件。

再执行以下命令使变量立即生效:

c 复制代码
source ~/.bashrc

步骤5: 将 scala 目录下的所有文件的给予权限。执行以下命令:

c 复制代码
cd /opt
c 复制代码
sudo chmod -R 777 scala/*

步骤6: 验证 scala 版本,在终端中执行以下命令:

c 复制代码
scala -version

输入后显示:

Scala code runner version 2.11.12 -- Copyright 2002-2017, LAMP/EPFL

正确输出如上版本信息则安装无误。

2. 下载安装 Spark

2.1 下载 Spark 安装包

下载地址 http://spark.apache.org/downloads.html 。此指导书中使用的 Spark 版本为 spark-2.3.3-bin-hadoop2.7.tgz ,实验环境中存放在 /hadoop-packages/ 目录下。本实验平台不需要下载

2.2 安装 Spark

步骤1: 解压安装包 spark-2.3.3-bin-hadoop2.7.tgz 至路径 /opt ,在 Linux 系统终端中执行以下命令:

c 复制代码
sudo tar zxvf /hadoop-packages/spark-2.3.3-bin-hadoop2.7.tgz -C /opt/

输入后显示:

步骤2: 将解压的文件夹名 spark-2.3.3-bin-hadoop2.7 改为 spark,以方便使用。

改名前的 /opt/ 目录如图所示。

执行以下命令:

c 复制代码
sudo mv spark-2.3.3-bin-hadoop2.7/ spark/

改名后的 /opt/ 目录如图所示。

步骤3: 配置环境变量,将 spark 目录下的 bin 目录添加到 path 中。编辑 ~/.bashrc 文件,执行以下命令:

c 复制代码
sudo vim ~/.bashrc

输入后显示:

点击"i"按键进入编辑模式:

请在 ~/.bashrc 文件中添加如下内容。如图所示。

c 复制代码
export SPARK_HOME=/opt/sparkexport PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.7-src.zip:$PYTHONPATHexport PYSPARK_PYTHON=pythonexport PATH=$PATH:$SPARK_HOME/bin

PYTHONPATH环境变量主要是为了在Python3中引入Pyspark库,对于不同版本的Spark , 其py4j-0.10.7-src.zip文件名是不同的,要进入相应目录 $SPARK_HOME/python/lib/ 下具体查看确定具体名称,再对PYTHONPATH环境变量的相应值加以修改。PYSPARK_PYTHON变量主要是设置Pyspark运行的Python版本。另外,如果环境中未安装Python3环境,需要手动执行命令yum -y install python3进行安装,后面才可正常进入到Pyspark终端。

步骤4: 按 Esc 键退回一般模式,然后输入 :wq 命令并回车保存退出文件。

执行以下命令使变量立即生效:

c 复制代码
source ~/.bashrc

步骤5: 将 spark 目录下的所有文件的给予权限。执行以下命令:

c 复制代码
cd /opt
c 复制代码
sudo chmod -R 777 spark/*

步骤6: 通过运行Spark自带的一个示例程序,验证Spark是否安装成功。在终端中执行以下命令:

c 复制代码
run-example SparkPi 2>&1 |grep "Pi is"

输入后显示:Pi is roughly 3.1381756908784544

正确输出类似如上信息则安装无误。

2.3 配置 Spark

切换到 Spark 的 conf 目录下并查看。执行以下命令:

c 复制代码
cd /opt/spark/conf/
c 复制代码
ls

可发现 conf 目录下有配置文件模板 spark-env.sh.template 和 spark-defaults.conf.template 等。

2.4 创建配置文件 spark-env.sh

在 Spark 的 conf 目录下执行以下命令:

c 复制代码
cp -r spark-env.sh.template spark-env.sh
c 复制代码
vim spark-env.sh

输入后显示:

进入 Vim 编辑界面,按 i 键之后进入编辑状态,在文件首行中补充如下路径的信息:

c 复制代码
export SPARK_DIST_CLASSPATH=$(/opt/hadoop/bin/hadoop classpath)

上面这条配置信息的作用是让Spark具备从Hadoop分布式文件系统HDFS读、写数据的能力;如果没有配置上面信息,Spark就只能读写本地数据,无法读写HDFS数据。配置完成的文件如图所示。

然后,按键盘上的 ESC 键退出 Vim 的编辑状态,再输入 :wq,保存并退出 Vim 编辑器。

3. pyspark 启动

由于设置了 PYSPARK_PYTHON 环境变量,可以在任意路径下直接执行以下命令启动 Pyspark:

c 复制代码
pyspark

启动 Pyspark 后,就会进入到 >>>命令提示符状态,Pyspark的终端。 从上图可以看到 Spark 的版本号为2.3.3,Python版本为3.6.8。现在就可以在Pyspark的终端中输入Python代码进行调试了。如图所示。

在Pyspark的终端中输入exit()可退出Pyspark终端。

4. 建立/user/spark文件夹

Hadoop中的许多组件在运行时会在HDFS上生成许多临时文件存储在/tmp文件夹中。

Spark应用历史服务在运行时会将一些数据存储在HDFS上的/user/spark/applicationHistory文件夹中。

使用hdfs dfs -mkdir命令创建文件夹/user/spark/applicationHistory以及hdfs dfs -chown命令将文件夹所有权移交给spark用户。

c 复制代码
hdfs dfs -mkdir -p /user/spark/applicationHistory
c 复制代码
hdfs dfs -chown -R spark /user/spark
相关推荐
huisheng_qaq13 分钟前
【Python基础篇-04】深入理解python的函数、参数与作用域
python·ai·函数·参数作用域
宸津-代码粉碎机5 小时前
OpenAI 连夜迎战 Grok Bot 和 Muse:AI 智能体从 “会聊天” 到 “能办事”,现在入场还来得及吗
java·大数据·人工智能·分布式·python
Y3815326625 小时前
SERP API 计费口径:credits_charged、执行失败扣费与退款边界
python·搜索引擎
程序猿乐锅6 小时前
【黑马点评 | 第八篇】Redisson分布式锁
java·数据库·spring boot·redis·分布式·spring·缓存
Leo.yuan6 小时前
2026年本地化Data Agent优质厂商盘点:哪些产品更适合企业生产环境
大数据·数据库·人工智能
云上先途7 小时前
任务智能体可以自动完成哪些类型工作,是不是只能做简单重复操作?
大数据·人工智能
蒸鱼Yuzheng7 小时前
设备端性能工件可靠导出:断点续传、哈希、manifest 与失败恢复
android·自动化测试·python·adb·数据完整性
小蒋观天下7 小时前
两轮车检测AI摄像头——2026行业竞争格局、商业模式与核心痛点
大数据·人工智能·安全·计算机视觉·ai大模型
RisunJan7 小时前
【这就是AI】AI每日资讯简报 - 2026-09-28(周一)
大数据·人工智能
灯澜忆梦7 小时前
【RabbitMQ #7】 | 消息转换器
分布式·rabbitmq·ruby