Ubuntu安装Anacoda3和Spark
本文主要介绍安装 Anacoda3 和 Spark 及其基本的使用方法,具体操作如下所示。
- Spark 下载网址:https://spark.apache.org/
- Spark 学习文档:https://spark.apache.org/docs/latest/api/python/index.html
第1章 下载和安装 Anacoda3
1 下载Anacoda3安装包
- 下载安装包 到 Anaconda 官网 https://www.anaconda.com/download 下载最新的发行版。选择 Linux 的安装包。

例如,这里下载得到文件: Anaconda3-2024.06-1-Linux-x86_64.sh 将这个文件放到共享文件夹,虚拟机 ubuntuvm1 可用通过文件夹 /media/sf_vmshare/ 访问。
2 安装Anacoda3
- 安装 以 hadoop 用户登录,尽量都使用默认的设置参数进行安装:
bash /media/sf_vmshare/Anaconda3-2024.10-1-Linux-x86_64.sh

输入yes,直接回车选择默认的安装路径,直接回车选择默认的no。




安装完毕。
3 安装完成后的一些设置与检查
- 设置 安装程序执行的最后,屏幕输出了一些提示信息。其中提到,要执行
conda init来进行 shell 功能的初始化。执行下面的命令:
cd ~/anaconda3/bin
./conda init

它会修改 ~/.bashrc 配置文件,在尾部加入 conda 的初始化脚本,如下:

注意上面的注释,它建议不要人为去修改它,这部分初始化脚本将由 conda 自行管理。退出当前的 SSH 连接并重新登录生效。 重新以 Hadoop 用户登录进入虚拟机后,我们发现它的提示符变为这样,前面带有 “(base)” 的标记,它表示当前在 conda 的默认环境 base 中。
- 我们可以查看全部环境列表。当前只有一个 base 环境[A2] ,且是激活的环境(用 * 号标记):

- 发行版安装后,随着时间的推移,可能会有一些更新。我们可以在命令行窗口,将它更新到最新。
# 在当前的环境下,更新全部的包。
conda update --all


至此,基于 Anaconda 的 Python 开发环境已经就绪。
4 关闭Anacoda的base环境
- 使用
conda deactivate命令:每次需要手动操作
启动base环境命令:conda activate base
- 通过执行命令
conda config --set auto_activate_base false关闭自动打开的虚拟环境。
第2章 下载和安装 Spark
- 在 Ubuntu Server 虚拟机上,安装 Spark,配置。
在官网下载最新版的 Spark: https://spark.apache.org/downloads.html
将下载的安装包 spark-3.5.3-bin-hadoop3.tgz 复制到共享文件夹内。以 hadoop 用户登录虚拟机,手动解压缩安装:
# 进入目标文件夹。
cd /opt/app
# 解压缩。
tar zxf /media/sf_vmshare/spark-3.5.3-bin-hadoop3.tgz
# 进入文件夹,检查一下文件。
cd spark-3.5.3-bin-hadoop3

- 修改 hadoop 用户的配置文件 ~/.profile ,在尾部添加环境变量:
export SPARK_HOME=/opt/app/spark-3.5.3-bin-hadoop3

退出当前的 SSH 连接并重新登录生效。
- 检查一下。 Spark 提供命令行的交互工具“spark-shell”。有 Scala 和 Python 两种。 我们先看基于 Scala 语言的 Shell:
cd $SPARK_HOME
# 启动交互式 Scala Shell(按 Ctrl+D 退出)。
./bin/spark-shell

当看到提示符“scala>”,它表示 spark-shell 已经就绪。 注意,在提示符之前有一些信息,说 spark-shell 提供了可供使用的 spark (SparkSession) 和 sc (SparkContext) 对象。让我们看下面的例子:

spark.range(1000 * 1000 * 1000).count()

- 我们再来看看基于 Pyhon 语言的 Shell。启动交互式 Python Shell(按 Ctrl+D,或输入”exit()“ 退出):
# 启动交互式 Python Shell。
./bin/pyspark

试运行下面的 scala 命令,它将返回 1,000,000,000:
spark.range(1000 * 1000 * 1000).count()

- 运行示例程序。 这里在本地运行 SparkPi 示例,计算圆周率。
cd $SPARK_HOME
./bin/run-example SparkPi

- 再有,spark-shell 启动(一定要先启动,否则打不开网址)了“Spark context Web UI”,地址在: http://10.0.2.15:4040 。注意这里“10.0.2.15”是虚拟机 ubuntuvm1 的内网 IP 地址。因虚拟机是以 NAT 方式来联网,它的 IP 是 “10.0.x” 这样的一个内网 IP,从 Windows 宿主机上不能直接访问,只能通过端口转发。 例如,下面使用虚拟机上的 Google Chrome 浏览器,直接访问本机 HBase 的 Web 界面(访问 http://localhost:4040 ),在宿主机上的浏览器打开(访问 http://localhost:14040 ),如下图所示:


- PySpark 是 Spark 的 Python 开发环境,下面将它与 Jupyter Notebook 集成。在当前 hadoop 用户的配置文件
~/.profile尾部新添加下面3行:
export PATH=$SPARK_HOME/bin:$PATH
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'

退出当前的 SSH 连接并重新登录生效。
- 启动 pyspark。 以 hadoop 用户登录,在任意位置启动 pyspark:
pyspark


注意上面的提示信息,给出了一个 URL 链接,它是在本机访问 Jupyter Notebook 所需的链接。
- 在虚拟机本机的 Google Chrome 浏览器中,访问之前 Jupyter Notebook 在屏幕输出中给出的链接,即可打开使用 Jupyter Notebook。
新建一个 Notebook,选择 Kernel:

先检查一下环境。查看 Python 的版本,以及当前的环境。
!python -V
!conda env list

试运行一条命令:
spark.sql("SELECT 'hello world' AS col1").show()
Jupyter Notebook 网页输出示例如下:

至此,PySpark 基于 Jupyter Notebook 的开发环境已经就绪。
更多推荐



所有评论(0)