本文將介紹spark在windows下本地模式的搭建html
Spark的運行模式基本能夠分爲兩種:java
即Driver程序只在本機運行git
即Dirver程序會在集羣中運行,具體到集羣模式,又能夠分爲spark集羣、MESOS、YARN等。github
做爲初學者入坑,天然是本地模式調通最方便。Spark在Mac、Linux下的安裝步驟沒必要說,基本沒有額外的問題,但windows下的安裝仍是要注意一下的。sql
基本步驟:shell
1.到spark官網 https://spark.apache.org/downloads.html 下載with hadoop版本的apache
這裏要注意的是,下載with hadoop版本的,即本地不須要再進行hadoop集羣的安裝部署。windows
下載後解壓,到bin目錄下執行spark-shell.cmd,此時會報oop
java.lang.IllegalArgumentException: Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState': ........spa
Caused by: java.lang.reflect.InvocationTargetException: java.lang.IllegalArgumentException: Error while instantiating 'org.apache.spark.sql.hive.HiveExternalCatalog':.................
錯誤緣由是由於沒有下載Hadoop windows可執行文件。
2.下載對應版本的hadoop binary文件
下載連接 https://github.com/steveloughran/winutils
下載後將對應版本的HADOOP_HOME添加到環境變量,bin也加到path裏
3.這時會報一個The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rw-rw-rw- (on Windows)
這個是/tmp/hive的權限錯誤,這時到步驟2中下載的hadoop/bin下面,執行 winutils.exe chmod 777 E:\tmp\hive
這裏的前綴E:\表示個人spark程序解壓在E盤了。\tmp\hive這個是固定的文件夾,即已經建立好了。
這個文件夾比較明顯就是spark的臨時文件目錄了。
至此,LOCAL模式搭建完畢。spark-shell.cmd運行沒有錯誤後,IDE用代碼的方式運行spark程序,也不會報錯了。
Spark的成功運行標誌:
原文做者:達微原文連接:https://www.jianshu.com/p/4dd9d550eeb0