背景:一,在用python編輯spark時,需要在windows本地搭建一套spark環境,然后將編輯好的.py上傳到hadoop集群,再進行調用;二,在應用spark進行機器學習時,更多時候還是在windows環境下進行會相對比較方便。
組件准備:
- 1、Python3.6.7
- 2、JDK(本文中使用JDK1.8)
- 3、Scala(Scala-2.12.8)
- 4、Spark(spark-2.4.5-bin-hadoop2.7.gz)
- 5、Hadoop(Hadoop 2.7)
- 6、winutils.exe
備注,盡量使用python3.6對應spark的2.4,不然會版本不兼容。本次安裝采用的python3.6.7和spark2.4.5。
一,python的安裝
在python的官網下載 https://www.python.org/ftp/python/3.6.7/ 並進行安裝,
安裝,如果為自定義安裝,需要自己配置一下相關的環境變量
查看是否安裝成功,
二,JDK安裝
JDK下載地址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html
安裝完成以后,配置環境變量。配置環境變量的方法為電腦[右鍵]——>屬性——>環境變量,編輯環境變量
配置Java環境變量主要有三個:
path中
其中Java_Home變量則為Java安裝路徑,CLASS_PATH可以看成Java安裝目錄下lib文件目錄,Path一般為系統自帶變量,修改時直接新增Java安裝目錄下的bin目錄。
Java如果安裝成功,則在cmd窗口中分別輸入java 和javac,如果均出現如下圖所示結果,則表示安裝Java成功
3、Scala(Scala-2.12.8)
下載好后,進行安裝,然后配置環境變量配置
安裝好后運行cmd命令提示符,輸入Scala
后,如果能夠正常進入到Scala的交互命令環境則表明安裝成功
4、Spark(spark-2.4.5-bin-hadoop2.7.gz),下載網址:https://mirrors.bfsu.edu.cn/apache/spark/
然后進行解壓,我這里是解壓到:D:\tools\spark
- 5、Hadoop(Hadoop 2.7)
由於spark是基於hadoop建立的,所以需要下載Hadoop,這里選擇hadoop 2.7,然后下載后放到本地目錄,和之前一樣,設置相關的2個地方的環境變量即可!
然后在path里面
- 6、winutils.exe
還需要一個插件,winutil.exe,其下載位置在https://github.com/steveloughran/winutils ,對應的hadoop-2.7.1/bin下的
可以通過此方式查看環境變量是否該配置的都配置了
其他相關配置
1),將spark所在目錄下(比如我的是E:\spark\spark-2.1.0-bin-hadoop2.7\python)的pyspark文件夾拷貝到python文件夾下(我的是E:\Anaconda2\Lib\site-packages),最好使用此方法進行安裝pyspark
2),安裝py4j庫,可以直接使用pip install py4j安裝
3) 修改權限
將winutils.exe文件放到Hadoop的bin目錄下,然后以管理員的身份打開cmd,然后通過cd命令進入到Hadoop的bin目錄下,然后執行以下命令:
winutils.exe chmod 777 c:\tmp\Hive
這里的c:\tmp\Hive需要事先創建好。
4)驗證pyspark啟動
在cmd中進行驗證pyspark是否成功
在安裝或者使用過程中如出現
Python worker failed to connect back 和TypeError:an integer is required 均是說明版本不兼容