避坑指南

1⃣️版本兼容问题
由于Hadoop生态是开源的,所以难免会出现版本兼容问题。为了保证Hadoop、spark、jdk、python之间可以兼容,建议使用我分享的版本。当然读者也可自己选择兼容的其他版本
2⃣️路径名中文问题
不论是在配置环境变量还是在文件中写路径时,最好路径不要出现中文,因为有可能由于编码的原因造成中文不识别,从而产生很多不必要的麻烦

一、安装jdk1.8

1.jdk下载

首先要保证电脑上安装了jdk,这里下载jdk1.8,可以去官网下载,也可以使用我分享的文件
链接:https://pan.baidu.com/s/1MErkVhORho7tp3Eg97a9Aw
提取码:1234
下载后完成后全部无脑下一步就行,不用修改安装路径,占不了多少c盘空间。

2.环境变量配置

从1.8版本开始会默认在path中添加环境变量
在cmd中输入以下命令
在这里插入图片描述
可以正常显示版本就没有问题
这里可以在配置一个JAVA_HOME
环境变量配置的具体步骤如下
我的电脑 - 属性 - 高级系统设置 - 环境变量
在这里插入图片描述
点击下面的新建,创建JAVA_HOME,jdk安装路径不知道的可以去Path环境变量中查看一下。
在这里插入图片描述

二、安装Hadoop2.7

1.下载并安装Hadoop2.7

可以去官网下载,也可以使用我的分享
链接:https://pan.baidu.com/s/1npJeWvcIzhh0lip5dOcshA
提取码:1234

下载完成后解压到一个目录下就行,建议专门找一个盘或者一个目录,用来存放Hadoop以及接下来要安装的两个包
在这里插入图片描述

2.下载winutils

使用我的分享
链接:https://pan.baidu.com/s/1BNya_X5gT3IIU0qMpFC5tw
提取码:1234
下载完成后找到相应的Hadoop版本,这里我们安装的是2.7.1
在这里插入图片描述
进入该目录,将bin目录下的所有内容复制,粘贴到Hadoop安装目录的bin目录下,添加或替换一些文件
在这里插入图片描述
在这里插入图片描述

3.配置Hadoop环境变量

同jdk环境变量的配置相同
首先配置HADOOP_HOME
在这里插入图片描述
然后配置Path,点击新建,浏览Hadoop目录

在这里插入图片描述

4.修改hadoop.env.cmd

打开Hadoop安装目录,我的是G:\hadoop-2.7.1\etc\hadoop
找到hadoop.env.cmd文件,用记事本打开,修改下面的内容,可以使用相对路径,也可以使用绝对路径,这里使用绝对路径。
在这里插入图片描述
由于默认的jdk目录Program Files 有空格,所以修改为以上内容,点击保存。

三、安装python3.6

由于版本问题,使用Hadoop2.7和spark2.4版本只能使用python3.6,所以需要安装python3.6
建议使用anaconda来下载python。anaconda的下载和安装网上教程很多,这里不再赘述。
首先打开Anaconda Navigator
在这里插入图片描述
点击environments
在这里插入图片描述
点击create,创建相应的python环境
在这里插入图片描述
这里可以看到我有两个环境,一个是base,一个是python36,这两个环境是独立的,互不干扰。在使用某一个环境时,只需要切换到对应的环境即可。

四、安装spark

1.下载spark

可以使用我的分享
链接:https://pan.baidu.com/s/1Rk02jTByyYRuudLqzbbeGw
提取码:1234
下载完并解压,同理,最好跟Hadoop2.7和winutils放在同一个盘或者目录下,方便以后的管理。

2.配置环境变量

同之前一样,需要配置SPARK_HOME和Path
在这里插入图片描述
在这里插入图片描述

3.拷贝pyspark

进入spark安装目录,我的是G:\spark-2.4.3-bin-hadoop2.7\python
在这里插入图片描述
将pyspark复制到Anaconda下的python36目录,我的是F:\AnacondaData\envs\python36\Lib\site-packages
在这里插入图片描述

4.安装py4j

在cmd进入scripts目录,我的是F:\AnacondaData\envs\python36\Scripts,安装py4j
在这里插入图片描述

5.测试

打开cmd,输入spark-shell,出现以下内容说明配置成功。
在这里插入图片描述
或者打开pyspark
这里注意,由于我的电脑安装了多个python版本,一个3.6,一个3.8,而运行pyspark需要3,6版本,因此首先要进行版本切换,即切换到之前提到过的python36环境
输入activate 环境名 ,可以看到左边有个括号,里面显示python36,这就表明进入了3.6的环境
在这里插入图片描述
查看一下python版本,果然是3.6
在这里插入图片描述
因此,我们可以放心大胆地使用pyspark了,直接输入pyspark
在这里插入图片描述

五、PyCharm配置

1.创建项目

PyCharm的配置很简单,首先新建一个项目
在这里插入图片描述
起好名字之后,选择interpreter,这里选择Existing interpreter
找到python36中的python.exe
在这里插入图片描述
这样一个项目就创建好了。

2.测试代码(单词计数)

新建一个word.txt文件,里面随便写几个单词,用空格分隔
在这里插入图片描述

新建一个python文件,输入如下代码
在这里插入图片描述

from pyspark import SparkConf, SparkContext

conf = SparkConf().setAppName("WordCount").setMaster("local")
sc = SparkContext(conf=conf)
inputFile = "word.txt"
textFile = sc.textFile(inputFile)
wordCount = textFile.flatMap(lambda line: line.split(" ")).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b)
wordCount.foreach(print)

右键运行
在这里插入图片描述
看结果
在这里插入图片描述
至此,全部工作已经完成。

Logo

大数据从业者之家,一起探索大数据的无限可能!

更多推荐