本文主要是講解Spark在Windows環(huán)境是如何搭建的
一、JDK的安裝
1、1 下載JDK
首先需要安裝JDK,并且將環(huán)境變量配置好,如果已經(jīng)安裝了的老司機可以忽略。JDK(全稱是JavaTM Platform Standard Edition Development Kit)的安裝,去Oracle官網(wǎng)下載,下載地址是Java SE Downloads。
![](/d/20211017/800db0aaeb1cb18e20bcccda03aa2764.gif)
上圖中兩個用紅色標記的地方都是可以點擊的,點擊進去之后可以看到這個最新版本的一些更為詳細的信息,如下圖所示:
![](/d/20211017/4f1ff44612da09c3bb1e8e7f40fafe31.gif)
下載完之后,我們安裝就可以直接JDK,JDK在windows下的安裝非常簡單,按照正常的軟件安裝思路去雙擊下載得到的exe文件,然后設定你自己的安裝目錄(這個安裝目錄在設置環(huán)境變量的時候需要用到)即可。
1、2 JDK環(huán)境變量設置
接下來設置相應的環(huán)境變量,設置方法為:在桌面右擊【計算機】--【屬性】--【高級系統(tǒng)設置】,然后在系統(tǒng)屬性里選擇【高級】--【環(huán)境變量】,然后在系統(tǒng)變量中找到“Path”變量,并選擇“編輯”按鈕后出來一個對話框,可以在里面添加上一步中所安裝的JDK目錄下的bin文件夾路徑名,我這里的bin文件夾路徑名是:C:\Program Files\Java\jre1.8.0_92\bin,所以將這個添加到path路徑名下,注意用英文的分號“;”進行分割。如圖所示:
![](/d/20211017/ba12e75c0d0158e10a3788120e666639.gif)
這樣設置好后,便可以在任意目錄下打開的cmd命令行窗口下運行下面命令。查看是否設置成功。
觀察是否能夠輸出相關java的版本信息,如果能夠輸出,說明JDK安裝這一步便全部結束了。如圖所示:
![](/d/20211017/5a87ced8127495b7ed5eb5c37b40a581.gif)
二、Scala的安裝
我們從官網(wǎng):http://www.scala-lang.org/下載Scala,最新的版本為2.12.3,如圖所示
![](/d/20211017/d41c179c1ac1959fed01c4c5b774d3b3.gif)
因為我們是在Windows環(huán)境下,這也是本文的目的,我們選擇對應的Windows版本下載,如圖所示:
![](/d/20211017/b5fbdbe75557969d75d1bf7155f0cc3f.gif)
下載得到Scala的msi文件后,可以雙擊執(zhí)行安裝。安裝成功后,默認會將Scala的bin目錄添加到PATH系統(tǒng)變量中去(如果沒有,和上面JDK安裝步驟中類似,將Scala安裝目錄下的bin目錄路徑,添加到系統(tǒng)變量PATH中),為了驗證是否安裝成功,開啟一個新的cmd窗口,輸入scala
然后回車,如果能夠正常進入到Scala的交互命令環(huán)境則表明安裝成功。如下圖所示:
![](/d/20211017/ba44931fc4127504696d67d57adad2f5.gif)
備注:如果不能顯示版本信息,并且未能進入Scala的交互命令行,通常有兩種可能性:
1、Path系統(tǒng)變量中未能正確添加Scala安裝目錄下的bin文件夾路徑名,按照JDK安裝中介紹的方法添加即可。
2、Scala未能夠正確安裝,重復上面的步驟即可。
三、Spark的安裝
我們到Spark官網(wǎng)進行下載:http://spark.apache.org/,我們選擇帶有Hadoop版本的Spark,如圖所示:
![](/d/20211017/eb9ff37069924073b53841b9b2c51c17.gif)
下載后得到了大約200M的文件: spark-2.2.0-bin-hadoop2.7
這里使用的是Pre-built的版本,意思就是已經(jīng)編譯了好了,下載來直接用就好,Spark也有源碼可以下載,但是得自己去手動編譯之后才能使用。下載完成后將文件進行解壓(可能需要解壓兩次),最好解壓到一個盤的根目錄下,并重命名為Spark,簡單不易出錯。并且需要注意的是,在Spark的文件目錄路徑名中,不要出現(xiàn)空格,類似于“Program Files”這樣的文件夾名是不被允許的。我們在C盤新建一個Spark文件夾存放,如圖所示:
![](/d/20211017/4245ca9d893e63f3374d86727ab1e693.gif)
解壓后基本上就差不多可以到cmd命令行下運行了。但這個時候每次運行spark-shell(spark的命令行交互窗口)的時候,都需要先cd
到Spark的安裝目錄下,比較麻煩,因此可以將Spark的bin目錄添加到系統(tǒng)變量PATH中。例如我這里的Spark的bin目錄路徑為D:\Spark\bin
,那么就把這個路徑名添加到系統(tǒng)變量的PATH中即可,方法和JDK安裝過程中的環(huán)境變量設置一致,設置完系統(tǒng)變量后,在任意目錄下的cmd命令行中,直接執(zhí)行spark-shell
命令,即可開啟Spark的交互式命令行模式。
系統(tǒng)變量設置后,就可以在任意當前目錄下的cmd中運行spark-shell,但這個時候很有可能會碰到各種錯誤,這里主要是因為Spark是基于hadoop的,所以這里也有必要配置一個Hadoop的運行環(huán)境。錯誤如圖所示:
![](/d/20211017/90a25e4a82db63ff8b360545c1af49a4.gif)
接下來,我們還需要安裝Hadoop。
四、Hadoop的安裝
在Hadoop Releases里可以看到Hadoop的各個歷史版本,這里由于下載的Spark是基于Hadoop 2.7的(在Spark安裝的第一個步驟中,我們選擇的是Pre-built for Hadoop 2.7
),我這里選擇2.7.1版本,選擇好相應版本并點擊后,進入詳細的下載頁面,如下圖所示:
![](/d/20211017/4ee8e726c7729a0dcc636e56e2213213.gif)
選擇圖中紅色標記進行下載,這里上面的src版本就是源碼,需要對Hadoop進行更改或者想自己進行編譯的可以下載對應src文件,我這里下載的就是已經(jīng)編譯好的版本,即圖中的“hadoop-2.7.1.tar.gz”文件。
下載并解壓到指定目錄,,我這里是C:\Hadoop,如圖所示:
![](/d/20211017/06e45e45ba892306f50b0a049897fe1d.gif)
然后到環(huán)境變量部分設置HADOOP_HOME為Hadoop的解壓目錄,如圖所示:
![](/d/20211017/ac982f9185dd4a127bd8ff0913b4bddb.gif)
然后再設置該目錄下的bin目錄到系統(tǒng)變量的PATH下,我這里也就是C:\Hadoop\bin,如果已經(jīng)添加了HADOOP_HOME系統(tǒng)變量,也可用%HADOOP_HOME%\bin來指定bin文件夾路徑名。這兩個系統(tǒng)變量設置好后,開啟一個新的cmd窗口,然后直接輸入spark-shell
命令。如圖所示:
![](/d/20211017/90ea9fe7ffd599d6e8961048db462ac6.gif)
正常情況下是可以運行成功并進入到Spark的命令行環(huán)境下的,但是對于有些用戶可能會遇到空指針的錯誤。這個時候,主要是因為Hadoop的bin目錄下沒有winutils.exe文件的原因造成的。這里的解決辦法是:
可以去https://github.com/steveloughran/winutils選擇你安裝的Hadoop版本號,然后進入到bin目錄下,找到winutils.exe
文件,下載方法是點擊winutils.exe
文件,進入之后在頁面的右上方部分有一個Download
按鈕,點擊下載即可。 如圖所示:
![](/d/20211017/48e68c2b41652242fe390f057c04bc96.gif)
下載winutils.exe文件
![](/d/20211017/eff7b6011c2c236d4163c9018a0c348b.gif)
將下載好winutils.exe
后,將這個文件放入到Hadoop的bin目錄下,我這里是C:\Hadoop\hadoop-2.7.1\bin。
在打開的cmd中輸入
復制代碼 代碼如下:
C:\Hadoop\hadoop-2.7.1\bin\winutils.exe chmod 777 /tmp/Hive //修改權限,777是獲取所有權限
但是我們發(fā)現(xiàn)報了一些其他的錯(Linux環(huán)境下也是會出現(xiàn)這個錯誤)
console>:14: error: not found: value spark
import spark.implicits._
^
console>:14: error: not found: value spark
import spark.sql
其原因是沒有權限在spark中寫入metastore_db 這個文件。
處理方法:我們授予777的權限
Linux環(huán)境,我們在root下操作:
sudo chmod 777 /home/hadoop/spark
#為了方便,可以給所有的權限
sudo chmod a+w /home/hadoop/spark
window環(huán)境下:
存放Spark的文件夾不能設為只讀和隱藏,如圖所示:
![](/d/20211017/96442a69786d6f08de5eb2f0dd49de52.gif)
授予完全控制的權限,如圖所示:
![](/d/20211017/d1a047b22424cea129093b0744f0e982.gif)
經(jīng)過這幾個步驟之后,然后再次開啟一個新的cmd窗口,如果正常的話,應該就可以通過直接輸入spark-shell
來運行Spark了。正常的運行界面應該如下圖所示:
![](/d/20211017/062a2a7fd50134286790e0446034f250.gif)
六、Python下Spark開發(fā)環(huán)境搭建
下面簡單講解Python下怎么搭建Spark環(huán)境
1、將spark目錄下的pyspark文件夾(C:\Spark\python\pyspark)復制到python安裝目錄C:\Python\Python35\Lib\site-packages里。如圖所示
spark的pysaprk
![](/d/20211017/f8088226f765f8473751aa71bcb19e67.gif)
將pyspark拷貝至Python的安裝的packages目錄下。
![](/d/20211017/a49f99f730527818ba38f07a80740b96.gif)
2、然后使用cd命令,進入目錄D:\python27\Scripts,運行pip install py4j安裝py4j庫。如圖所示:
![](/d/20211017/b97ffa25f21c7fecf36eaec29b0c0d4c.gif)
如果需要在python中或者在類似于IDEA IntelliJ或者PyCharm(筆者用的就是PyCharm)等IDE中使用PySpark的話,需要在系統(tǒng)變量中新建一個PYTHONPATH的系統(tǒng)變量,然后設置好下面變量值就可以了
PATHONPATH=%SPARK_HOME%\python;%SPARK_HOME%\python\lib\py4j-0.10.4-src.zip
![](/d/20211017/5a077e55d5767559a43768531c95cc7c.gif)
后面的事情就交給PyCharm了。
至此,Spark在Windows環(huán)境下的搭建講解已結束。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Spark在Win10下的環(huán)境搭建過程
- windows下pycharm搭建spark環(huán)境并成功運行 附源碼
- PyCharm搭建Spark開發(fā)環(huán)境的實現(xiàn)步驟
- Python搭建Spark分布式集群環(huán)境
- PyCharm搭建Spark開發(fā)環(huán)境實現(xiàn)第一個pyspark程序
- Linux下搭建Spark 的 Python 編程環(huán)境的方法
- 使用docker快速搭建Spark集群的方法教程
- Spark集群框架的搭建與入門