Spark 平台的安裝

基於 hadoop 2.7 和 Spark 2.1.2 的安裝流程

主要的安裝過程參考這篇: 大數據運算系列:SPARK FOR UBUNTU LTS 16.04 安裝指引

前置設定

作業系統環境採用Ubuntu LTS 16.04 Desktop 版本

  • 安裝 Java

 sudo add-apt-repository ppa:webupd8team/java
 sudo apt-get update
 sudo apt-get install oracle-java8-installer

修改環境變數

vim ~/.bashrc

在文件的最後加入這一行

export JAVA_HOME="/usr/lib/jvm/java-8-oracle"

安裝完成後執行 java -version 確認是否顯示版本訊息表示安裝成功

$ java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
  • 安裝 python

sudo apt-get install python2.7

測試 python 安裝成果

  • 安裝 python3

測試安裝結果:

安裝 Scala

測試安裝結果:

修改環境變數

在文件的最後加入這一行

安裝 SBT

用來建立基於 Scala 的編譯環境, 以下為安裝的指令:

一起貼上輸入:

關於 SBT 的使用,我們會在"Spark 的編譯環境建立"中進一步說明。

安裝 SPARK (單機)

下載 SPARK 在下列官網有提供預先製作好的安裝套件。套件包含以下元件:

  • Core and Spark SQL

  • Structured Streaming

  • MLlib

  • SparkR

  • GraphX

Spark 下載畫面

http://spark.apache.org/downloads.html

在下載畫面中,我們可以看到,Spark 是基於 hadoop 2.0 的平台所建立的。 hadoop 2.0 雖然繼承了 hadoop 的名字,但是他的架構已經和 hadoop 完全不同,舉例來說,hadoop 2.0 捨棄了原有的 MapReduce 架構,而改用 Directed Acyclic Graph (DAG) 的方式來進行平行計算,在 DAG 的架構下,MapReduce 只是一個特例,當然,Spark 的平行化架構也是。

下載 spark 2 套件後,我們執行解壓縮,並移到 /usr/lib/spark 底下

接著我們要設定 spark,和 hadoop 一樣,都需要編輯一個開啟的 script 檔案,Spark 中自帶範例為: spark-env.sh.template

我們複製該檔案,並加入一些設定

加入以下設定資料,主要是記憶體的大小,以及 Java 的執行位置。

在這裡我也加入一次環境設定 (雖然應該是在.bashrc中加入就可以了)

接著編輯 ~/.bashrc ,在底下加入上述的環境設定,因此,最終的結果應該長得像是這樣:

立即生效環境變數 (只有這次需要執行)

測試SPARK 環境

和python一樣,可以使用 CTRL+D 或是 exit() 離開。

執行範例程式 (SparkPi)

結果如下 (已經刪去不重要的 log 資訊):

從 log 中,我們可以看到最中的計算結果,以及該程式被分成10份平行處理。關於該程式實際內容,我們會在"實作: SparkPi 解說"中介紹

Last updated

Was this helpful?