學習一個工具的最好途徑,就是使用它。這就比如《極品飛車》玩得好的同窗,未必真的會開車,要學習車的駕駛技能,就必須用手觸摸方向盤、用腳感覺剎車與油門的力道。在IT領域,在深刻了解一個系統的原理、實現細節以前,應當先準備好它的運行環境或者源碼閱讀環境。若是能在實際環境下安裝和運行Spark,顯然可以提高讀者對於Spark的一些感覺,對系統能有個大致的印象,有經驗的工程師甚至可以猜出一些Spark在實現過程當中採用的設計模式、編程模型。html
考慮到大部分公司在開發和生產環境都採用Linux操做系統,因此筆者選用了64位的Linux。在正式安裝Spark以前,先要找臺好機器。爲何?由於筆者在安裝、編譯、調試的過程當中發現Spark很是耗費內存,若是機器配置過低,恐怕會跑不起來。Spark的開發語言是Scala,而Scala須要運行在JVM之上,於是搭建Spark的運行環境應該包括JDK和Scala。java
本文只介紹最基本的與Spark相關的準備工做,至於Spark在實際生產環境下的配置,則須要結合具體的應用場景進行準備。linux
自Spark2.0.0版本開始,Spark已經準備放棄對Java 7的支持,因此咱們須要選擇Java 8。咱們還須要使用命令getconf LONG_BIT查看linux機器是32位仍是64位,而後下載相應版本的JDK並安裝。shell
下載地址:apache
http://www.oracle.com/technetwork/java/javase/downloads/index.html。編程
配置環境:vim
cd ~ vim .bash_profile
添加以下配置:設計模式
exportJAVA_HOME=/opt/java exportPATH=$PATH:$JAVA_HOME/bin exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
輸入如下命令使環境變量快速生效:bash
source .bash_profile
安裝完畢後,使用java –version命令查看,確認安裝正常,如圖1所示。架構
圖1 查看java安裝是否正常
因爲從Spark 2.0.0開始,Spark默認使用Scala 2.11來編譯、打包,再也不是之前的Scala 2.10,因此咱們須要下載Scala 2.11。
下載地址:
http://www.scala-lang.org/download/
選擇Scala 2.11的版本進行下載,下載方法以下:
wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
移動到選好的安裝目錄,例如:
mv scala-2.11.8.tgz~/install/
進入安裝目錄,執行如下命令:
chmod 755scala-2.11.8.tgz tar -xzvfscala-2.11.8.tgz
配置環境:
cd ~ vim .bash_profile
添加以下配置:
export SCALA_HOME=$HOME/install/scala-2.11.8 export PATH=$SCALA_HOME/bin:$PATH
輸入如下命令使環境變量快速生效:
source .bash_profile
安裝完畢後鍵入scala,進入scala命令行以確認安裝正常,如圖2所示。
圖2 進入Scala命令行
Spark進入2.0時代以後,目前一共有兩個大的版本:一個是2.0.0,一個是2.1.0。本書選擇2.1.0。
下載地址:
http://spark.apache.org/downloads.html
下載方法以下:
wget http://d3kbcqa49mib13.cloudfront.net/spark-2.1.0-bin-hadoop2.6.tgz
移動到選好的安裝目錄,如:
mv spark-2.1.0-bin-hadoop2.6.tgz~/install/
進入安裝目錄,執行如下命令:
chmod 755 spark-2.1.0-bin-hadoop2.6.tgz tar -xzvf spark-2.1.0-bin-hadoop2.6.tgz
配置環境:
cd ~ vim .bash_profile
添加以下配置:
export SPARK_HOME=$HOME/install/spark-2.1.0-bin-hadoop2.6 export PATH=$SPARK_HOME/bin:$PATH
輸入如下命令使環境變量快速生效:
source .bash_profile
安裝完畢後鍵入spark-shell,進入scala命令行以確認安裝正常,如圖3所示。
圖3 執行spark-shell進入Scala命令行
有了對spark運行環境的準備,下面就能夠來看看《Spark2.1.0之初體驗》
想要對Spark源碼進行閱讀的同窗,能夠看看《Spark2.1.0之代碼結構及載入Ecplise方法》