IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> windows安装spark3.2,并使用pycharm测试 -> 正文阅读

[Python知识库]windows安装spark3.2,并使用pycharm测试

一、windows安装spark

1.1 安装spark

spark 3.2.2 下载地址
在这里插入图片描述
直接下载解压至需要的文件夹,添加 SPARK_HOME 变量,并在 PATH 变量中添加bin路径
在这里插入图片描述
在这里插入图片描述
执行spark-shell,进入spark环境命令行即证明安装成功。
在这里插入图片描述
如果报错,可参照下文,安装scala与Hadoop。

1.2 安装scala

上文下载的spark要求scala版本为2.13,所以这里下载2.13版本的,我选择的是最新的2.13.5,因为上文中,spark启动时提示的scala版本是这个。
scala 下载地址
点击进入下载界面后,Windows可下载zip格式包或msi格式包。建议下载zip格式包,它体积小,下载快。
在这里插入图片描述
ZIP包下载完成后,解压至需要的文件夹,并配置环境变量,添加 SCALA_HOME 变量,并在 PATH 变量中添加bin路径
在这里插入图片描述

在这里插入图片描述
完成这些后,命令行输入 scala,出现scala命令行即证明安装成功。
在这里插入图片描述

1.3 安装hadoop

1.3.1 下载hadoop

spark是基于hadoop的,所以spark正常运行需要配置hadoop环境。上文下载的spark要求hadoop版本为3.2,所以这里下载3.2版本的hadoop,hadoop下载地址
这里下载的hadoop版本为3.2.2,与spark版本保持一致.因为Hadoop运行环境是linux,windows需要winutils.exe工具来实现Windows下运行Hadoop。这个工具不支持最新的版本。
在这里插入图片描述

1.3.2 hadoop解压缩

使用管理员身份进入cmd,注意不是powershell。这里不能直接解压,否则会报错,解压失败。必须使用管理员身份解压。
在这里插入图片描述
进入下载的Hadoop压缩包所在的文件夹,输入 start winrar x -y hadoop-3.2.2.tar.gz 进行解压。
在这里插入图片描述

解压完成后,将文件移动至需要的文件夹,这里需要注意,文件路径不能有空格

1.3.3 下载winutils工具

下载地址cdarlint/winutils
直接zip包下载。下载完成后,进入对应Hadoop版本中,这里是3.2.2,将bin目录下的文件拷贝一份放到Hadoop的bin目录下。同时,将 hadoop.dll 文件 拷贝一份放到 C:\Windows\System32 目录下。

1.3.4 配置环境变量

配置 HADOOP_HOME环境变量,并在PATH环境变量中添加Hadoop的bin目录。
在这里插入图片描述
在这里插入图片描述

1.3.5 Hadoop基础配置

hadoop 目录下新建 data 文件夹和 tmp 文件夹。这里的hadoop 目录指解压缩后的Hadoop文件夹目录,也就是上文中的HADOOP_HOME环境变量。
在新建的 data 文件夹下新建 datanodenamenode 文件夹。
然后进入 hadoop 目录下 etc/hadoop目录,对配置文件进行设置。注意文件路径

1.3.5.1 配置 core-site.xml 文件
<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://localhost:9000</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/D:/hadoop-3.2.2/tmp</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/D:/hadoop-3.2.2/data</value>
	</property>
</configuration>
1.3.5.2 配置 hdfs-site.xml 文件

这里注意,namenode和datanode两个节点数据存储位置,一定要添加file://协议。并且绝对路径前一定要加“/”

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
	<property>    
		<name>dfs.namenode.name.dir</name>    
		<value>file:///D:/hadoop-3.2.2/data/namenode</value>    
	</property>    
	<property>    
		<name>dfs.datanode.data.dir</name>    
		<value>file:///D:/hadoop-3.2.2/data/datanode</value>  
	</property>
</configuration>
1.3.5.3 配置 mapred-site.xml 文件
<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>
1.3.5.4 配置 yarn-site.xml 文件

注意这里的 yarn.application.classpath,它是通过cmd获取的。在cmd中输入 yarn classpath,将获取的值全部作为value
在这里插入图片描述

<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>
		
		<property>
			<name>yarn.application.classpath</name>
			<value>D:\hadoop-3.2.2\etc\hadoop;D:\hadoop-3.2.2\etc\hadoop;D:\hadoop-3.2.2\etc\hadoop;D:\hadoop-3.2.2\share\hadoop\common;D:\hadoop-3.2.2\share\hadoop\common\lib\*;D:\hadoop-3.2.2\share\hadoop\common\*;D:\hadoop-3.2.2\share\hadoop\hdfs;D:\hadoop-3.2.2\share\hadoop\hdfs\lib\*;D:\hadoop-3.2.2\share\hadoop\hdfs\*;D:\hadoop-3.2.2\share\hadoop\yarn;D:\hadoop-3.2.2\share\hadoop\yarn\lib\*;D:\hadoop-3.2.2\share\hadoop\yarn\*;D:\hadoop-3.2.2\share\hadoop\mapreduce\lib\*;D:\hadoop-3.2.2\share\hadoop\mapreduce\*;D:\hadoop-3.2.2\share\hadoop\yarn\*;D:\hadoop-3.2.2\share\hadoop\yarn\lib\*</value>
		</property>
	</configuration>

1.3.6 启动hadoop

第一次启动Hadoop前,需要执行Hadoop namenode -format,格式化namenode。注意这里不要使用管理员权限,否则Hadoop启动时,会无权访问。
在这里插入图片描述
进入 hadoop 目录下 sbin文件夹,双击打开 start-all.cmd启动,弹出4个黑框,不报错则安装成功。
打开 http://127.0.0.1:8088/,网站已正常运行。
在这里插入图片描述

1.4 启动报错解决方案

1、Hadoop启动时找不到JAVA:如果 Java 找不到时,修改 JAVA_HOME set JAVA_HOME=D:\jdk
2、Hadoop启动时 错误:找不到或无法加载主机 xxx
这时需要修改该文件下的 set HADOOP_IDENT_STRING 的值。如我的计算机的名称为 admin,
则修改为 :set HADOOP_IDENT_STRING="admin"
3、Hadoop namenode启动失败,报错setPosixFilePermissions:Hadoop 3.2.1版本问题,安装3.2.2解决。
4、spark启动报错java.net.URISyntaxException:使用3.2.2版本,且保持spark与Hadoop版本相同。

二、使用pycharm测试

2.1 安装anaconda并换源

anaconda官网下载过慢,建议通过镜像下载 清华大学开源软件镜像站
conda可通过 conda config --show channels 命令查看当前源。如果没有镜像源,建议配置。
conda更换清华镜像源代码如下

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/

conda config --set show_channel_urls yes

配置完成后,查看源效果如下
在这里插入图片描述
配置环境变量,使用conda作为默认python引擎。
%ANACONDA_HOME%
%ANACONDA_HOME%\Scripts
%ANACONDA_HOME%\Library\bin
%ANACONDA_HOME%\Library\mingw-w64\bin
在这里插入图片描述
在这里插入图片描述

2.2 安装pyspark与findspark

首先更新conda,否则会报错failed with initial frozen solve,无法安装pyspark,更新conda命令为 conda update --all
执行完更新anaconda的命令后,安装pyspark即可。conda install pyspark=3.2.2
此外还需要安装findspark包,conda install findspark。若不安装此包,程序会报错Python worker failed to connect back

2.3 代码测试

from pyspark import SparkConf, SparkContext
import findspark

if __name__ == '__main__':
    findspark.init()
    conf = SparkConf().setAppName('test').setMaster('local')
    sc = SparkContext(conf = conf)

    rdd = sc.parallelize([1,2,3,4,5,6])
    result = rdd.filter(lambda x : x% 2 == 1)

    print(result.collect())

在这里插入图片描述
如图,程序已可以正确输出结果,环境搭建完成。

参考网址

windows下安装spark
Windows安装 hadoop 环境
java.io.IOException: NameNode is not formatted. 新创建的hadoop集群启动时报错namenode没有启动成功
Windows下hadoop环境搭建之NameNode启动报错
NameNode 启动失败
Python worker failed to connect back
Anaconda 环境变量的配置

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-10-08 20:37:01  更:2022-10-08 20:39:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 3:08:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计