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

惊雷无声  金牌会员 | 2024-10-2 19:08:57 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 899|帖子 899|积分 2697

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

本文先容怎样在Windows操作系统(以win11为例)上配置一个可以运行PySpark步伐的开发环境,如存在任何问题或马虎,接待指正和交流。
主要涉及到以下工具包的安装
安装包版本JDKjdk-8u281AnacondaAnaconda3-2020.11Hadoop3.2.2Hive3.1.1 1.22 (3.1.1为运行版本,1.22版本提供Windows系统下的运行工具)Mysql8Mysql 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的路径,根据自己的安装路径进行更改
  1. @set JAVA_HOME="D:\jdk1.8.0_281"
复制代码
如果安装路径过长,就要考虑使用8.3定名方法,用6位字母,然后添加“~”符号和1个数字,如下演示
  1. @set JAVA_HOME="C:\Program Files\Java\jdk1.8.0_281"
  2. ::8.3命名法为
  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 文件

  1. <configuration>
  2.         <property>
  3.            <name>fs.defaultFS</name>
  4.            <value>hdfs://localhost:9000</value>
  5.         </property>
  6. </configuration>
复制代码
3.3.4 修改mapreduce-site.xml文件

【留意】在我下载到的hadoop版本里,对这里的mapreduce-site.xml文件进行了缩写,文件名变成了 mapred-site.xml
  1. <configuration>
  2.         <property>
  3.            <name>mapreduce.framework.name</name>
  4.            <value>yarn</value>
  5. </property>
  6. </configuration>
复制代码
3.3.5 修改yarn-site.xml文件

  1. <configuration>
  2.         <property>
  3.            <name>yarn.nodemanager.aux-services</name>
  4.            <value>mapreduce_shuffle</value>
  5.         </property>
  6.         <property>
  7.            <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  8.            <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  9.         </property>
  10. </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目录及其子目录,并设置组可写权限
  1. hadoop fs -mkdir /tmp
  2. hadoop fs -chmod g+w /tmp
  3. hadoop fs -mkdir -p /user/hive
  4. hadoop fs -mkdir /user/hive/warehouse
  5. 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并修改内容
  1. # 将[HADOOP_HOME]替换为Hadoop的本地路径,[HIVE_HOME]替换为Hive的本地路径
  2. HADOOP_HOME= [HADOOP_HOME]
  3. export HIVE_CONF_DIR= [HIVE_HOME]\conf
  4. 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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊雷无声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表