ToB企服应用市场:ToB评测及商务社交产业平台
标题:
PySpark单机模式(local)的环境搭建
[打印本页]
作者:
惊雷无声
时间:
2024-10-2 19:08
标题:
PySpark单机模式(local)的环境搭建
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的路径,根据自己的安装路径进行更改
@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
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4