PySpark单机模式(local)的环境搭建

PySpark单机模式(local)的环境搭建

本文介绍如何在Windows操作系统(以win11为例)上配置一个可以运行PySpark程序的开发环境,如存在任何问题或纰漏,欢迎指正和交流。

主要涉及到以下工具包的安装

安装包版本
JDKjdk-8u281
AnacondaAnaconda3-2020.11
Hadoop3.2.2
Hive3.1.1 1.22 (3.1.1为运行版本,1.22版本提供Windows系统下的运行工具)
Mysql8
Mysql Connecter8.0.21

这里下载Hadoop时,清华镜像源没有提供3.2.2的版本,3.2.2版本的下载需要到apache官网下载

一、安装JDK

1.1 JDK的下载

https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

打开链接,可以查看历史各个版本的Java,找到我们所需要的版本

在这里插入图片描述

初次在ORACLE下载资源会需要注册账号,可能会遇到网络问题,文章最后提供了所有工具包的安装包。如在登录时遇到表单请求错误,可尝试更换浏览器,推荐使用Edge,全程不需要网络代理。

1.2 安装到本地

双击准备好的文件,点击下一步,直到出现安装
在这里插入图片描述

在这里根据自己的习惯更改安装路径(安装路径后续配置环境要用到),默认是安装在C盘下,注意路径不要有中文即可

等待下载后,会出现如下弹窗提示
在这里插入图片描述

这是要安装java的运行环境(jre),准备一个新的文件夹作为安装路径,路径还是不要出现中文,建议放在jdk安装路径的同一根路径下
在这里插入图片描述

设置好路径后,点击下一步继续安装,出现下图弹窗后,代表已经安装成功

在这里插入图片描述

1.3 配置环境变量

在电脑的开始搜索框中搜索环境变量,点击相关设置,或者找到桌面图标"此电脑",右键后点击"属性",再点击"环境变量"

在这里插入图片描述
点击后,会看到如下弹窗,我们点击环境变量

在这里插入图片描述

进来后,我们新建一个系统变量

在这里插入图片描述

变量名设置为 JAVA_HOME , 然后点击浏览目录,找到我们刚刚安装jdk的路径,作为变量值

在这里插入图片描述

然后再系统变量中,找到Path并点击

在这里插入图片描述

新建下面两个路径

%JAVA_HOME%\bin

%JAVA_HOME%\jre\bin

在这里插入图片描述

最后点击确定,总共需要点击三个确定,直到退出系统属性那个页面。

1.4 测试安装是否成功

win+R打开运行窗口,输入cmd打开命令行,之后输入 java -version,出现下图版本信息则安装成功,也可以看到版本信息正是我们安装的281

在这里插入图片描述

二、安装Anaconda

2.1 Anaconda的下载

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

在清华大学开源软件镜像站找到我们需要的Anaconda版本
在这里插入图片描述

2.2 Anaconda的安装

开始安装,出现下图弹窗时,这里我选择 All Users

在这里插入图片描述

之后就是选择安装路径,根据自己的使用习惯设置就好

在这里插入图片描述

重点是接下来的两个选项

在这里插入图片描述

第一个框选,会将Anaconda3自动添加到系统的环境变量中,我们可以在Windows命令行(即win+R唤出的操作台)进行conda命令,如果没有添加,我们需要打开anaconda自己提供的命令行或navigator里进行相关操作,这里我没有勾选,如果对Anaconda后续还有持续使用的需求,建议在这里勾选或者后续再去手动添加环境变量

第二个框选,如果你的电脑之前已经安装过python,这里也不建议勾选

之后等待安装结束就好了
在这里插入图片描述

2.3 Anaconda的基本介绍

我们还是在开始搜索栏中,进行搜索,会看到Spyder、Anaconda Prompt、Anaconda Navigator、Jupyter Notebook。这里我后面还有括号是因为我的电脑安装过其他版本的Anaconda,如果你之前没有安装过Anaconda,这里是不会有额外的内容的。

在这里插入图片描述

其中Spyder、Jupyter Notebook 是Anaconda提供的开发环境。

Anaconda Prompt、Anaconda Navigator都是管理环境的工具,只不过Navigator提供了图形菜单页面,便于操作,Prompt需要我们使用相关的conda命令进行操作

我们打开Anaconda Prompt,输入conda -V ,可以查看当前anaconda的版本

在这里插入图片描述

除了查看版本,我们也能查看我们当前已有的虚拟环境: conda env list , 其中 base 是我们的根环境。 注意,由于我之前使用过其他版本的Anaconda,可以看到除了base环境及其路径外,其他行还有别的的路径,这些路径存放的是我另一个版本anaconda创建的环境。如果第一次使用,只会有 base 环境及其路径。

在这里插入图片描述

除了在命令行进行管理,我们也可以使用Navigator进行管理,笔记本设备打开会有点慢,耐心等待一下。进来后是Anaconda的首页,我们点击 Environments 就可以进行环境的管理了

在这里插入图片描述

在这里,我们就可以管理我们的虚拟环境,进行增加、删除、克隆等操作。也可以管理每个虚拟环境中的包,十分方便。

在这里插入图片描述

就我目前使用的体验来说,笔记本设备在使用navigator会比较卡顿,大家可以根据自己的需求选择使用Prompt或者navigator。

这里附上常用conda命令的链接

http://t.csdnimg.cn/8lJ1p

三、安装Hadoop

3.1 Hadoop安装包的下载与解压

访问Hadoop官网需要网络代理,我们从清华镜像网站进行下载

https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/

这里我们原本的目标是要下载3.2.2版本,但在我本人进行环境下载时(2024年9月5日)已经没有提供3.2.2的安装包了,需要下载3.2.2版本需要到apache官网下载

https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz

这里如果没有网络代理是无法访问apache官网的,可以在清华镜像源下载3.2.4作为替代

在这里插入图片描述

​ 点击进来后,我们下载这个文件

在这里插入图片描述

下载完成后,我们将会得到一个hadoop的 tar.gz 格式压缩包,这个压缩包,我们需要用到winrar压缩工具进行解压,同时为了避免权限问题,我们要用管理员身份打开winrar后进行解压

没有winrar可以在官网自行下载使用,下载和安装都比较简单,这里就不多赘述

https://www.winrar.com.cn/index.htm

在这里插入图片描述

找到我们需要解压的文件进行解压

在这里插入图片描述

3.1.1 工具文件下载

在windows系统中运行Hadoop,需要下载额外两个工具文件,winutils.exe 和hadoop.dll

下载链接(需要网络代理)

https://github.com/cdarlint/winutils/tree/master/hadoop-3.2.2/bin

下载后,进入解压后的hadoop目录的bin目录下,复制或替换windows下使用的两个文件

【注意】 这里有的教程会将这两个工具文件放在“C:\windows\System32”目录下,以下是个人的理解,仅提供想法,真实性不做保证

==> 如果你以管理员身份启动cmd命令行,会发现命令行的根目录刚好就是在C:\windows\System32,而windows正常启动Hadoop需要以管理员身份cmd来运行。所以这里的两个工具文件如果放在hadoop的bin目录下,相当于将工具封装在Hadoop里一起交给操作系统去运行,而直接将工具文件放在C:\windows\System32下,相当于给操作系统补充了两个工具。

在这里插入图片描述

3.2 配置环境变量

和之前配置java的环境变量一样,我们对hadoop也需要进行同样的操作,先新增系统变量 HADOOP_HOME,选择Hadoop解压后的所在地址作为变量值

在这里插入图片描述

新增Path变量 %HADOOP%\bin

在这里插入图片描述

3.3 修改配置文件
3.3.1 修改 hadoop-env.cmd文件

在hadoop目录下,进入 etc/hadoop 目录(后续所有需要修改的配置文件都在该目录中),找到 hadoop-env.cmd 文件,右键选择在记事本中编辑

在这里插入图片描述

在文件末尾添加 Java 的环境变量 ,这里引号内的内容是我们安装JDK的路径,根据自己的安装路径进行更改

@set JAVA_HOME="D:\jdk1.8.0_281"

如果安装路径过长,就要考虑使用8.3命名方法,用6位字母,然后添加“~”符号和1个数字,如下演示

@set JAVA_HOME="C:\Program Files\Java\jdk1.8.0_281"
::8.3命名法为
@set JAVA_HOME="C:\Progra~1\Java\jdk1.8.0_281"

在这里插入图片描述

3.3.2 修改 hdfs-site.html 文件

还是在 etc/hadoop 目录下,找到hdfs-site.html 文件,打开进行编辑,可以看到原始文件中的 configuration 配置信息是空的

在这里插入图片描述

我们进行修改,修改内容如下

在这里插入图片描述

【注意】这里的两个路径所指向的文件夹需要自己去对应创建,即需要在自己的hadoop目录下新建一个data文件夹,然后再data文件夹里再新建datanode和namenode文件夹

剩下的配置文件修改方式和前两个相同,并且不需要再做额外的路径修改,直接进行替换即可

3.3.3 修改 core-site.xml 文件
<configuration>
	<property>
	   <name>fs.defaultFS</name>
	   <value>hdfs://localhost:9000</value>
	</property>
</configuration>
3.3.4 修改mapreduce-site.xml文件

【注意】在我下载到的hadoop版本里,对这里的mapreduce-site.xml文件进行了缩写,文件名变成了 mapred-site.xml

<configuration>
	<property>
	   <name>mapreduce.framework.name</name>
	   <value>yarn</value>
</property>
</configuration>
3.3.5 修改yarn-site.xml文件
<configuration>
	<property>
	   <name>yarn.nodemanager.aux-services</name>
	   <value>mapreduce_shuffle</value>
	</property>
	<property>
	   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
	   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
	</property>
</configuration>
3.4 格式化NameNode

以管理员身份打开cmd 命令提示符,进入hadoop目录下的bin文件目录

在这里插入图片描述
在这里插入图片描述

这里可能会提示文件名、目录名或卷标语法不正确。对后续没什么影响,具体原因暂时也不清楚。

后续会让你确认是否格式化,输入y之后回车确认就好

在这里插入图片描述

3.5 启动hadoop

还是通过cmd(管理员身份打开),我们进入hadoop目录下的sbin文件目录,然后执行start-all.cmd命令

在这里插入图片描述

启动后,会弹出四个窗口,启动了如下4个服务: Hadoop Namenode 、Hadoop datanode、 YARN Resourc Manager 、YARN Node Manager。仔细检查四个窗口的名称是否能够对应上,如果没有出现则说明该组件启动失败

在这里插入图片描述

打开浏览器,输入 http://localhost:9870,看到出现如下页面,即表示Hadoop配置正确并正常运行

在这里插入图片描述

四、安装MySQL

4.1 MySQL的下载与安装

下载链接

https://dev.mysql.com/downloads/installer/

点击后会看到8.0版本的最新版本,我这里下载的是8.0.21,下载下面的启动器

在这里插入图片描述

双击下载好的安装包,开始下载

在这里插入图片描述

等待一段时间后来到下面的安装页面,Developer Default 会安装所有组件,有的版本的mysql没有该选项,需要自己手动选择需要下载的组件,这里我们选择 custom ,自定义安装自己需要的组件

在这里插入图片描述

额外介绍一下各个组件的作用(来源博客 :http://t.csdnimg.cn/7gLzD):

  • MySql Server:Mysql数据库的服务器,我们操作数据一般都是连接到该服务器进行操作
  • MySql Workbench:可视化操作MySql数据库中的数据,说人话就是你可以用鼠标点击操作数据库
  • MySql Shell:这个就是通过命令行操作MySql数据库中的数据,学习命令时,推荐用这个,可以快速熟悉各种命令
  • MySql for visual studio:VS默认只显示自己的SQL Server源,所以要想MySql连接VS,就需要这个工具
  • Connector/NET :MySQL官方的.NET驱动程序,用于结合MySql for visual studio工具连接VS的
  • Connector/ODBC:该组件使用户可以用ODBC (Open Database Connectivity,开放数据库互联)数据库连接Mysql的服务器。比如说,用户可以使用Windows中的应用程序,如微软的 Access,Excel去连接数据库服务器。
  • Connector/J: 连接java的包
  • Connector/C++:c++接口组件
  • Connector/Python:phthon接口组件
  • MySql Router:连接数据库与应用程序的中间组件 MySql
  • Documentation:MySql数据库的使用文档
  • Samples and Examples:例子

这里MySQL Server 和 connector/J 是我们需要的核心组件, 注意版本,这里选择的都是8.0.21,选择好后点击next。这里默认会安装在C盘,如果要额外设置,点击需要设置安装路径的组件,下方会出现蓝色小子 advanced options,点击进行更改安装路径。
在这里插入图片描述

依次点击execute,到这里表明准备开始下载,点击next

在这里插入图片描述

进行配置

在这里插入图片描述

这里选择第一个 Standalone MySQL Server模式

在这里插入图片描述

该配置页面不需要额外配置

在这里插入图片描述

这里选择第二个验证方式,避免后续出现难以解决的问题

在这里插入图片描述

设置密码,密码可以简单点,但一定要记住

在这里插入图片描述

后面依次点击next,直到这里,配置完成,点击finish

在这里插入图片描述

后续没有需要再额外操作的地方,点击next到该页面,安装完成

在这里插入图片描述

4.2 验证安装是否成功

在开始菜单中,搜索MySQL,选择Command Line Client

在这里插入图片描述

点击后,输入安装时设置的密码,即可登录MySQL客户端

在这里插入图片描述

五、安装Hive

5.1 Hive的下载

下载链接,选择3.1.1的版本下载

https://archive.apache.org/dist/hive/

在这里插入图片描述

下载 apache-hive-3.1.1-bin.tar.gz 文件

在这里插入图片描述

5.2 配置环境变量

和配置Hadoop一样,我们依次解压,配置环境变量,新建Path环境变量

在这里插入图片描述

在这里插入图片描述

5.3 配置MySQL驱动

下载链接

https://downloads.mysql.com/archives/c-j/

选择相应的版本和操作系统

在这里插入图片描述

下载后,我们解压,找到文件夹中存放的驱动JAR包 mysql-connector-java-8.0.21.jar

在这里插入图片描述

将该JAR包复制到我们HIVE目录下的lib文件夹里

在这里插入图片描述

5.4 在HDFS中创建目录

首页我们先启动Hadoop,启动方法在本文3.5节中可以查看

在这里插入图片描述

在HDFS中创建tmp目录、user目录及其子目录,并设置组可写权限

hadoop fs -mkdir /tmp
hadoop fs -chmod g+w /tmp
hadoop fs -mkdir -p /user/hive
hadoop fs -mkdir /user/hive/warehouse
hadoop fs -chmod g+w /user/hive/warehouse

我们重新打开一个cmd命令提示符窗口,依次输入命令

在这里插入图片描述

全部输入后,我们可以在网页端查看我们的目录是否设置成功。如果没有成功仔细查看自己hadoop的四个服务是否全部正常启动,尝试重启Hadoop后再进行尝试

在这里插入图片描述

5.5 创建data目录及其子目录

在HIVE目录中,创建本地data目录,并在data目录中创建operation_logs、querylog、resources、scratch子目录用于存储Hive本地日志内容

在这里插入图片描述

5.6 修改hive-site.xml文件

复制 hive 目录的 conf 目录下的 hive-default.xml.template 文件,将其命名为 hive-site.xml 并修改内容,将文件中的内容替换为自己的本地路径

scratchdir 本地目录 : hive.exec.local.scratchdir

修改为本地路径

在这里插入图片描述

resources_dir 本地目录:hive.downloaded.resources.dir

修改为本地路径

在这里插入图片描述

querylog 本地目录:hive.querylog.location

修改为本地路径

在这里插入图片描述

operation_logs 本地目录:hive.server2.logging.operation.log.location

修改为本地路径

在这里插入图片描述

数据库连接地址配置:javax.jdo.option.ConnectionURL

修改为以下内容 jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&serverTimezone=GMT&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&useSSL=false

mysql默认端口号都是3306

在这里插入图片描述

数据库驱动配置 :javax.jdo.option.ConnectionDriverName

修改为以下内容:

com.mysql.cj.jdbc.Driver

在这里插入图片描述

数据库用户名:javax.jdo.option.ConnectionUserName

修改为自己的用户名(默认都是root)

在这里插入图片描述

数据库访问密码:javax.jdo.option.ConnectionPassword

修改为自己安装MySQL时设置的密码

在这里插入图片描述

解决 Caused by: MetaException(message:Version information not found in metastore. ):hive.metastore.schema.verification

修改为false

在这里插入图片描述

自动创建全部:datanucleus.schema.autoCreateAll

修改为true

在这里插入图片描述

HIVE 3.1.1 hive-site.xml 3210行 description有错误,删除

在这里插入图片描述

5.7 修改hive-env.sh文件

复制 hive 目录的 conf 目录下的 hive-env.sh.template 文件,将其命名为hive-env.sh并修改内容

# 将[HADOOP_HOME]替换为Hadoop的本地路径,[HIVE_HOME]替换为Hive的本地路径
HADOOP_HOME= [HADOOP_HOME]
export HIVE_CONF_DIR= [HIVE_HOME]\conf
export HIVE_AUX_JARS_PATH= [HIVE_HOME]\lib

在这里插入图片描述

5.8 复制Hive运行文件

Hive 1.2版本以后不再提供Windows系统下的命令行工具,该工具需要在hive.1.2.2-src源码包中找到

下载地址

https://archive.apache.org/dist/hive/hive-1.2.2/

下载完整后,我们将hive.1.2.2-src中bin目录复制到hive的根目录中,覆盖hive原有的bin目录

在这里插入图片描述

5.9 初始化Hive元数据并启动Hive

打开cmd,进入hive的bin目录中

在这里插入图片描述

输入并执行 hive --service schematool -dbType mysql -initSchema,出现Initialization script completed
schemaTool completed 表示成功

在这里插入图片描述

!!!首先要启动Hadoop!!!,然后我们在bin目录里执行 hive.cmd 命令,启动hive,出现 hive> 表示hive运行成功

在这里插入图片描述

六、 配置PySpark

6.1 安装PySpark模块

我们新建一个虚拟环境,名字就叫PySpark,点击create后耐心等它创建完,可能会有点慢

在这里插入图片描述

我们搜索pyspark包,但可能搜不出来,如果能搜出来,我们直接 appply 应用就好

在这里插入图片描述

如果发现搜不到pyspark包,我们就从Anaconda Prompt进去安装。

在这里插入图片描述

输入命令 pip install pyspark -i https://pypi.tuna.tsinghua.edu.cn/simple 从清华源镜像网站下载,注意是是用pip

在这里插入图片描述

下载完成后,再查看一下安装的包,可以看到PySpark已经安装上了

在这里插入图片描述

6.2 配置文件

找到我们安装Anaconda的目录,进入env目录,这里可以看到我们所创建的所有虚拟环境

在这里插入图片描述

进入PySpark目录下 Lib\site-packages\pyspark 目录,新建一个conf文件夹

在这里插入图片描述

将我们的Hive配置文件hive-site.xml 复制到 conf 文件夹中

在这里插入图片描述

找到我们PySpark环境中的python,将其路径设置为环境变量

在这里插入图片描述

变量名设置为 PYSPARK_PYTHON

在这里插入图片描述

七、运行 Jupyter Notebook

打开Anaconda navigator,Application On 选择 Spark,启动 Jupyter Notebook

在这里插入图片描述

我们启动Hadoop和hive,然后再jupyter notebook中编写程序测试,可以看到我们已经能配置并创建了一个支持 Hive 的 SparkSession 实例,但是在后续使用sql命令时还是出现了问题

在这里插入图片描述

【注意】 在网上搜寻了一下,发现有个重要的步骤遗漏了,我们需要将我们的驱动JAR包 mysql-connector-java-8.0.21.jar 在 Spark 包中的jars目录下

在这里插入图片描述

再次尝试后,问题解决,部署完成。

在这里插入图片描述

八、安装包资源

链接: https://pan.baidu.com/s/139FSAF4MYJyNQDHvn7Hlrg?pwd=zy4y 提取码: zy4y

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值