Linux–实战–spark的安装与使用

1.spqrk的安装与使用:

前言
Spark 的安装需要建立在 Hadoop 的之上(类似于 Hbase 和 Hive),关于 Hadoop 的单机安装以及伪分布式安装可以参考其他博客:

本文章参考于https://blog.csdn.net/olizxq/article/details/118249447

Ubuntu下单机安装Hadoop详细教程(附所需安装包下载)
Ubuntu下伪分布式安装Hadoop详细教程
本文安装的 Hadoop 及 Java 环境基于林子雨老师的《大数据技术原理与应用(第3版)》中所要求,其中 Java 版本为1.8.0_301,Hadoop 版本为3.2.2,这里我的操作系统环境是 Ubuntu 20.04,此安装方法同样适用于低版本。

一、安装Spark

  1. 下载压缩包并解压
    官网下载目录如下:https://spark.apache.org/downloads.html

建议清华镜像网站下载:https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.2.0/

注意这里建议下载 without-hadoop 版本,此版本适用于所有 Hadoop 版本,若是官网下载,则需要选择 Pre-build with user-provided Hadoop 类型即可下载。

下载文件如下:spark-3.2.0-bin-without-hadoop.tgz,进入下载目录,解压压缩包:

cd ~/Downloads
sudo tar -zxf ./spark-3.2.0-bin-without-hadoop.tgz -C /usr/local
  1. 安装Spark
    进入到 /usr/local 目录下,更改文件夹名,赋予用户权限:
cd ~/Downloads
sudo tar -zxf ./spark-3.2.0-bin-without-hadoop.tgz -C /usr/local
  1. 配置环境变量
    修改 ~/.bashrc 文件:
vim ~/.bashrc
  1. 增添下面几行:
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin
export HADOOP_HOME=/usr/local/hadoop
  1. 运行如下命令使配置立即生效:
source ~/.bashrc
  1. 修改配置文件
    创建 spark-env.sh 文件:
cd /usr/local/spark/conf
sudo cp spark-env.sh.template spark-env.sh

修改配置 spark-env.sh 文件:

sudo vim spark-env.sh

将以下内容写入文件:

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

按下 ESC 键,:wq,保存并退出。

二、验证Spark安装及错误处理

  1. 运行Spark实例
    在终端下,运行以下命令:
cd /usr/local/spark
bin/run-example SparkPi 2>&1 | grep "Pi is"

2. 输出如下,运行成功!

hadoop@fzqs-Laptop:/usr/local/spark$ cd /usr/local/spark
hadoop@fzqs-Laptop:/usr/local/spark$ bin/run-example SparkPi 2>&1 | grep "Pi is"
Pi is roughly 3.143755718778594
  1. 启动Spark shell
    由于之前已经配置了环境变量,所以这里不需要加上路径也可使用命令:
spark-shell
  1. 正常启动界面如下:

注意启动若出现如下警告:

hadoop@fzqs-Laptop:/usr/local$ spark-shell
2021-12-09 23:49:14,625 WARN util.Utils: Your hostname, fzqs-Laptop resolves to a loopback address: 127.0.1.1; using 10.132.13.98 instead (on interface wlo1)
2021-12-09 23:49:14,626 WARN util.Utils: Set SPARK_LOCAL_IP if you need to bind to another address
Setting default log level to "WARN".

参考此篇博客:Spark启动:WARN util.Utils: Your hostname, … resolves to a loopback address: …; using … instead

简单执行一下命令:

scala> 12345 + 54321
res0: Int = 66666

退出 spark-shell 界面

:quit

2. pyspark的安装与使用:

安装Java
Spark是基于Java的,因此首先需要安装Java。可以使用以下命令检查是否已安装Java:

如果未安装Java,你可以通过以下命令安装OpenJDK:

sudo apt update
sudo apt install openjdk-11-jdk

安装完成后,验证一下是否安装成功:

java -version

安装Spark
接下来,我们需要安装Apache Spark。可以从Apache Spark官网下载最新版本的tar包。以下是下载和解压的命令(假设你下载路径为/opt):

cd /opt
wget
tar -xvzf spark-3.4.0-bin-hadoop3.tgz

解压完成后,进入解压后的目录:

cd spark-3.4.0-bin-hadoop3

接下来,将Spark添加到环境变量中。打开~/.bashrc文件:

nano ~/.bashrc

在文件末尾添加以下行:

export SPARK_HOME=/opt/spark-3.4.0-bin-hadoop3
export PATH=$PATH:$SPARK_HOME/bin

保存并退出后,更新环境变量:

source ~/.bashrc

安装PySpark
要使用PySpark,我们还需要安装Python及其必要的库。如果你还没有安装Python,可以使用以下命令:

sudo apt install python3 python3-pip

然后,通过pip安装PySpark:

pip3 install pyspark

验证安装
完成以上步骤后,可以通过启动PySpark来验证安装是否成功。在终端中输入:

pyspark

如果一切正常,将会看到PySpark的启动信息,并进入PySpark的交互环境。

要执行的pyspark代码

from pyspark import SparkContext 
from pyspark import SparkConf
data = list(range(1,1000))
rdd = sc.parallelize(data)
rdd.collect()

在pyspark命令行中执行

输出结果,成功执行

在vscode里执行效果:

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部