將Spark部署到Hadoop 2.2.0上
本文介紹的是如何將Apache Spark部署到Hadoop 2.2.0上,如果你們的Hadoop是其他版本,比如CDH4,可直接參考官方說明操作。
需要注意兩點:(1)使用的Hadoop必須是2.0系列,比如0.23.x,2.0.x,2.x.x或CDH4、CDH5等,將Spark運行在 Hadoop上,本質上是將Spark運行在Hadoop YARN上,因為Spark自身只提供了作業管理功能,資源調度要依托于第三方系統,比如YARN或Mesos等 (2)之所以不采用Mesos而是YARN,是因為YARN擁有強大的社區支持,且逐步已經成為資源管理系統中的標準。
注意,目前官方已經發布了0.8.1版本,可以直接從這里選擇合適的版本下載,如果你使用的是hadoop 2.2.0或者CDH5,可以直接從這里下載。
將Spark部署到Hadoop 2.2.0上需要經過以下幾步:
步驟1:準備基礎軟件
步驟2:下載編譯spark 0.8.1或者更高版本
步驟3:運行Spark實例
接下來詳細介紹這幾個步驟。
步驟1:準備基礎軟件
(1) 基本軟件
包括linux操作系統、Hadoop 2.2.0或者更高版本、Maven 3.0.4版本(或者最新3.0.x版本),其中,Hadoop 2.2.0只需采用最簡單的方式安裝即可,具體可參考我的這篇文章:Hadoop YARN安裝部署,Maven安裝方法很簡單,可以在http://maven.apache.org/download.cgi上下載binary版本,解壓后,配置MAVEN_HOME和PATH兩個環境變量,具體可自行在網上查找相關方法,比如這篇“Linux下安裝maven”,但需要注意,版本不是3.0.x版,Spark對版本要求很嚴格。
(2)硬件準備
Spark 2.2.0專門搞出來一個yarn-new支持hadoop 2.2.0,因為hadoop 2.2.0的API發生了不兼容變化,需要使用Maven單獨編譯并打包,而編譯過程非常慢(一般機器,2個小時左右),且占用內存較多,因此,你需要一 臺滿足以下條件的機器作為編譯機:
條件1:可以聯網:第一次編譯時,maven需要從網上下載大量的jar包,速度比較慢,如果你網絡不行,建議直接放棄編譯。
條件2:內存2GB以上
步驟2:下載編譯spark 0.8.1或者更高版本
可以用git下載或者直接wget或者spark 0.8.1版本
wget https://github.com/apache/incubator-spark/archive/v0.8.1-incubating.zip |
注意,0.8.1之前的版本不支持hadoop 2.2.0,從0.8.1版本開始支持。
下載之后,對其解壓:
unzip v0.8.1-incubating |
然后進入解壓目錄,輸入以下命令:
|
一般需要等待很長時間,編譯完成后,將spark內核打包成一個獨立的jar包,命令如下:
原文鏈接:http://dongxicheng.org/framework-on-yarn/build-spark-on-hadoop-2-yarn/