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