Spark:安裝及環境配置指南!

前篇文章介紹了scala的安裝與配置、接下來介紹一下spark的安裝及環境配置。

                 

1、Apache spark下載

 

    在瀏覽器輸入網址https://spark.apache.org/downloads.html進入spark的下載頁面,如下圖所示:

 

 

下載時需要注意的是在第1步選擇完spark版本之後的第2步“choose a package type ”時,spark與hadoop版本必須配合使用。因爲spark會讀取hdfs文件內容而且spark程序還會運行在HadoopYARN上。所以必須按照我們目前安裝的hadoop版本來選擇package type。我們目前使用的hadoop版本爲hadoop2.7.5,所以選擇Pre-built for Apache Hadoop 2.7 and later。

 

點擊第3步Download Spark後的連接 spark-2.1.2-bin-hadoop2.7.tgz進入下圖所示的頁面。在國內我們一般選擇清華的服務器下載,這下載速度比較快,連接地址如下:

 

https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.1.2/spark-2.1.2-bin-hadoop2.7.tgz

 

2、安裝spark

 

通過WinSCP將spark-2.1.2-bin-hadoop2.7.tgz上傳到master虛擬機的Downloads目錄下,然後解壓到用戶主目錄下並更改解壓後的文件名(改文件名目的是名字變短,容易操作)。解壓過程需要一點時間,耐心等待哈。

 

 

解壓完成後通過ls命令查看當前用戶主目錄,如下圖所示增加了spark-2.1.2-bin-hadoop2.7文件目錄

 

 

通過mv命令更改spark-2.1.2-bin-hadoop2.7名爲spark

 

 

3、配置spark環境變量

 

通過命令vim .bashrc編輯環境變量

 

 

在文件末尾增加如下內容,然後保存並退出

 

 

重新加載環境變量配置文件,使新的配置生效(僅限當前終端,如果退出終端新的環境變量還是不能生效,重啓虛擬機系統後變可永久生效)

 

 

通過spark-shell展示spark是否正確安裝,Spark-shell是添加了一些spark功能的scala REPL交互式解釋器,啓動方式如下圖所示。啓動過程中會打印spark相關信息如版本。

 

 

退出spark-shell使用命令:quit

 

 

4、在其他節點安裝spark

 

在master節點安裝完成後只需複製spark文件目錄及.bashrc文件到其他節點即可,具體操作命令可按下圖操作

最後重啓slave1、slave2即可使配置文件生效。到這裏spark安裝完成,接下來就是根據spark運行模式來配置spark相關配置文件使集羣正常工作。

 

5、配置spark相關文件

 

第一步:spark-env.sh文件

 

通過環境變量配置確定的Spark設置。環境變量從Spark安裝目錄下的conf/spark-env.sh腳本讀取。

可以在spark-env.sh中設置如下變量:

Spark相關配置

首先開啓三個虛擬機master 、slave1、slave2,接下來在master主機上配置,配置完成之後將spark/conf發送到其他節點即可。

 

我們先跳轉到spark/conf目錄下看看我們需要配置哪些文件。如下圖所示通過ls命令查看文件列表,我們今天主要用到的有spark-env.sh.template、slaves.template,我們還可以用log4j.properties.template來修改輸出信息。

 

注意,當Spark安裝時,conf/spark-env.sh默認是不存在的。你可以複製conf/spark-env.sh.template創建它。

 

通過vim編輯器編輯spark-env.sh,在終端中我們可以只輸入前幾個字母然後按tab鍵來給我們自動補全。

 

在文件末尾添加如下內容,保存並退出

 

第二步:log4j.properties

spark在啓動過程中會有大量日誌信息打印出來,如果我們只想看警告或者錯誤,而不是一般信息可以在log4j.properties中設置,同樣的spark爲我們提供了一個模板文件,需要通過模板複製出log4j.properties

 

設置方法爲將文件第二行INFO改爲WARN

 

更改完成後文件內容如下圖所示,記得保存並退出。

 

第三步:slaves文件

slaves文件主要作用是告訴spark集羣哪些節點是工作節點worker,這裏slaves文件也需要由模板文件複製過來,操作如下圖所示

 

使用vim編輯器編輯slaves

 

 

文件中輸入如下內容,表示工作節點爲slave1和slave2,保存並退出。

 

 

最後將spark/conf目錄移動到slave1 slave2節點spark目錄下,操作如下圖所示

 

 

現在就可以啓動集羣了,先啓動hadoop集羣(也可以不用hadoop,但是在實際應用中大部分spark還是會用到hadoop的資源管理YARN)再啓動spark集羣,操作如下所示。

 

 

通過jps查看啓動的進程,在master節點上spark的進程是Master,在slave節點上spark相關進程是Worker。

 

 

停止集羣時要先停止spark集羣

 

 

再停止hadoop集羣

 

 

spark相關的內容就到這裏,關於spark的詳細應用會有單獨系列文章介紹,敬請期待。

  

 小提示:每天虛擬機和集羣不用了儘量正常關閉,而不是暴力關閉Vmware軟件。不然集羣容易崩潰😂。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章