PySpark部署安装

Spark部署安装

1. Spark Local 模式搭建文档

在本地使用单机多线程模拟Spark集群中的各个角色

1.1 安装包下载

目前Spark最新稳定版本:课程中使用目前Spark最新稳定版本:3.1.x系列

https://spark.apache.org/docs/3.1.2/index.html

★注意1:

Spark3.0+基于Scala2.12

http://spark.apache.org/downloads.html

img

★注意2:

目前企业中使用较多的Spark版本还是Spark2.x,如Spark2.2.0、Spark2.4.5都使用较多,但未来Spark3.X肯定是主流,毕竟官方高版本是对低版本的兼容以及提升

http://spark.apache.org/releases/spark-release-3-0-0.html

img

1.2 将安装包上传并解压

说明: 只需要上传至node1即可, 以下操作都是在node1执行的

cd /export/softwarerz 上传img 解压:tar -zxf spark-3.1.2-bin-hadoop3.2.tgz -C /export/server/img

更名: (两种方式二选一即可, 推荐软连接方案)

cd /export/server

方式一: 软连接方案: ln -s spark-3.1.2-bin-hadoop3.2 spark

方式二: 直接重命名: mv spark-3.1.2-bin-hadoop3.2 spark

img

目录结构说明:

img

1.3 测试

Spark的local模式, 开箱即用, 直接启动bin目录下的spark-shell脚本

cd /export/server/spark/bin./spark-shell

img

说明:

sc:SparkContext实例对象:

spark:SparkSession实例对象

4040:Web监控页面端口号

img

●Spark-shell说明:

1.直接使用./spark-shell

表示使用local 模式启动,在本机启动一个SparkSubmit进程

2.还可指定参数 --master,如:

spark-shell --master local[N] 表示在本地模拟N个线程来运行当前任务

spark-shell --master local[*] 表示使用当前机器上所有可用的资源

3.不携带参数默认就是

spark-shell --master local[*]

4.后续还可以使用–master指定集群地址,表示把任务提交到集群上运行,如

./spark-shell --master spark://node01:7077,node02:7077

5.退出spark-shell

使用 :quit

2. PySpark环境安装

同学们可能有疑问, 我们不是学的Spark框架吗? 怎么会安装一个叫做PySpark呢?

这里简单说明一下:

PySpark: 是Python的库, 由Spark官方提供. 专供Python语言使用. 类似Pandas一样,是一个库

Spark: 是一个独立的框架, 包含PySpark的全部功能, 除此之外, Spark框架还包含了对R语言\ Java语言\ Scala语言的支持. 功能更全. 可以认为是通用Spark。

功能 PySpark Spark
底层语言 Scala(JVM) Scala(JVM)
上层语言支持 Python Python\Java\Scala\R
集群化\分布式运行 支持 支持
定位 Python库 (客户端) 标准框架 (客户端和服务端)
是否可以Daemon运行 No Yes
使用场景 生产环境集群化运行 生产环境集群化运行

若安装PySpark需要首先具备Python环境,这里使用Anaconda环境,安装过程如下:

2.1 下载Anaconda环境包

安装版本:https://www.anaconda.com/distribution/#download-section

Python3.8.8版本:Anaconda3-2021.05-Linux-x86_64.sh

img

2.2 安装Anaconda环境

此环境三台节点都是需要安装的, 以下演示在node1安装, 其余两台也是需要安装的

cd /export/softwarerz 上传Anaconda脚本环境img 执行脚本:bash Anaconda3-2021.05-Linux-x86_64.shimg 不断输入空格, 直至出现以下解压, 然后输入yesimg 此时, anaconda需要下载相关的依赖包, 时间比较长, 耐心等待即可…img 配置anaconda的环境变量:

*vim /etc/profile

##增加如下配置

export ANACONDA_HOME=/root/anaconda3/binexport PATH= P A T H : PATH: PATH:ANACONDA_HOME/bin

重新加载环境变量:

source /etc/profile

修改bashrc文件sudo vim ~/.bashrc

添加如下内容: 直接在第二行空行添加即可

export PATH=~/anaconda3/bin:$PATH

说明:

profile其实看名字就能了解大概了, profile 是某个用户唯一的用来设置环境变量的地方, 因为用户可以有多个 shell 比如 bash, sh, zsh 之类的, 但像环境变量这种其实只需要在统一的一个地方初始化就可以了, 而这就是 profile.bashrcbashrc 也是看名字就知道, 是专门用来给 bash 做初始化的比如用来初始化 bash 的设置, bash 的代码补全, bash 的别名, bash 的颜色. 以此类推也就还会有 shrc, zshrc 这样的文件存在了, 只是 bash 太常用了而已.

2.3 启动anaconda并测试

注意: 请将当前连接node1的节点窗口关闭,然后重新打开,否则无法识别

输入 python -V启动:img

base: 是anaconda的默认的初始环境, 后续我们还可以构建更多的虚拟环境, 用于隔离各个Python环境操作, 如果不想看到base的字样, 也可以选择直接退出即可

执行:conda deactivate img

但是当大家重新访问的时候, 会发现又重新进入了base,如何让其默认不进去呢, 可以选择修改.bashrc这个文件

vim ~/.bashrc 在文件的末尾添加:conda deactivate 保存退出后, 重新打开会话窗口, 发现就不会在直接进入base了

2.4 Anaconda相关组件介绍[了解]

Anaconda(水蟒):是一个科学计算软件发行版,集成了大量常用扩展包的环境,包含了 conda、Python 等 180 多个科学计算包及其依赖项,并且支持所有操作系统平台。下载地址:https://www.continuum.io/downloads

l 安装包:pip install xxx,conda install xxx

l 卸载包:pip uninstall xxx,conda uninstall xxx

l 升级包:pip install upgrade xxx,conda update xxx

*Jupyter Notebook:*启动命令

jupyter notebook

功能如下:

l Anaconda自带,无需单独安装

l 实时查看运行过程

l 基本的web编辑器(本地)

l ipynb 文件分享

l 可交互式

l 记录历史运行结果

修改jupyter显示的文件路径:

通过jupyter notebook --generate-config命令创建配置文件,之后在进入用户文件夹下面查看.jupyter隐藏文件夹,修改其中文件jupyter_notebook_config.py的202行为计算机本地存在的路径。

IPython:

命令:ipython,其功能如下

1.Anaconda自带,无需单独安装

2.Python的交互式命令行 Shell

3.可交互式

4.记录历史运行结果

5.及时验证想法

Spyder:

命令:spyder,其功能如下

1.Anaconda自带,无需单独安装

2.完全免费,适合熟悉Matlab的用户

3.功能强大,使用简单的图形界面开发环境

下面就Anaconda中的conda命令做详细介绍和配置。

(1)conda命令及pip命令

conda管理数据科学环境,conda和pip类似均为安装、卸载或管理Python第三方包。

conda install 包名 pip install 包名conda uninstall 包名 pip uninstall 包名conda install -U 包名 pip install -U 包名

(2) Anaconda设置为国内下载镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --set show_channel_urls yes

(3)conda创建虚拟环境

conda env listconda create py_env python=3.8.8 #创建python3.8.8环境activate py_env #激活环境deactivate py_env #退出环境

2.5 PySpark安装

三个节点也是都需要安装pySpark的

2.5.1 方式1:直接安装PySpark

安装如下:

使用PyPI安装PySpark如下:也可以指定版本安装pip install pyspark或者指定清华镜像*(对于网络较差的情况)*:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark # 指定清华镜像源如果要为特定组件安装额外的依赖项,可以按如下方式安装(此步骤暂不执行,后面Sparksql部分会执行):pip install pyspark[sql]

截图如下:

img

2.5.2 [安装]方式2:创建Conda环境安装PySpark

#从终端创建新的虚拟环境,如下所示conda create -n pyspark_env python=3.8img

#创建虚拟环境后,它应该在 Conda 环境列表下可见,可以使用以下命令查看conda env listimg #现在使用以下命令激活新创建的环境:source activate pyspark_env或者conda activate pyspark_envimg 如果报错: CommandNotFoundError: Your shell has not been properly configured to use ‘conda deactivate’.切换使用 source activate

#您可以在新创建的环境中通过使用PyPI安装PySpark来安装pyspark,例如如下。它将pyspark_env在上面创建的新虚拟环境下安装 PySpark。pip install pyspark

#或者,可以从 Conda 本身安装 PySpark:conda install pysparkimg

2.5.3 [不推荐]方式3:手动下载安装

将spark对应版本下的python目录下的pyspark复制到anaconda的

Library/Python3/site-packages/目录下即可。

请注意,PySpark 需要JAVA_HOME正确设置的Java 8 或更高版本。如果使用 JDK 11,请设置-Dio.netty.tryReflectionSetAccessible=true,Arrow相关功能才可以使用。

扩展:

conda虚拟环境 命令查看所有环境conda info --envs新建虚拟环境conda create -n myenv python=3.6 删除虚拟环境conda remove -n myenv --all 激活虚拟环境conda activate myenvsource activate base 退出虚拟环境conda deactivate myenv

2.6 初体验-PySpark shell方式

前面的Spark Shell实际上使用的是Scala交互式Shell,实际上 Spark 也提供了一个用 Python 交互式Shell,即Pyspark。

img

bin/pyspark --master local[*]

img

猜你喜欢

转载自blog.csdn.net/xianyu120/article/details/133338830
今日推荐