2016-06-10 210 views
0

我在尋找關於如何在現有虛擬紗線集羣上安裝火花的指南。在紗線集羣上安裝火花

我有一個由兩個節點組成的紗線簇,運行完美的map-reduce作業。在日誌中查找結果,一切工作正常。

現在我需要在我的vagrantfile中添加spark安裝命令和配置文件。我找不到一個好的指南,有人能給我一個很好的鏈接嗎?

我用這個指南紗線集羣

http://www.alexjf.net/blog/distributed-systems/hadoop-yarn-installation-definitive-guide/#single-node-installation

提前感謝!

回答

2

我不知道流浪漢,但我已經在hadoop 2.6之上安裝了Spark(在指南中稱爲post-YARN),我希望這會有所幫助。

在現有的hadoop上安裝Spark非常容易,只需要在一臺機器上安裝。爲此,您必須從it's official website(我想您可以使用without hadoop版本,但需要將其指向系統中的hadoop二進制文件的方向)下載預編譯的hadoop版本。然後解壓:

tar -xvf spark-2.0.0-bin-hadoop2.x.tgz -C /opt 

現在你只需要設置一些環境變量。首先在你的~/.bashrc(或~/.zshrc),您可以設置SPARK_HOME並將其添加到您的PATH,如果你想:

export SPARK_HOME=/opt/spark-2.0.0-bin-hadoop-2.x 
export PATH=$PATH:$SPARK_HOME/bin 

也因爲這個改動生效,你可以運行:

source ~/.bashrc 

其次,你需要將Spark指向您的Hadoop配置目錄。要做到這一點設置這兩個環境變量在$SPARK_HOME/conf/spark-env.sh

export HADOOP_CONF_DIR=[your-hadoop-conf-dir usually $HADOOP_PREFIX/etc/hadoop] 
export YARN_CONF_DIR=[your-yarn-conf-dir usually the same as the last variable] 

如果這個文件不存在,您可以複製的$SPARK_HOME/conf/spark-env.sh.template內容,並從那裏開始。

現在開始紗線模式的外殼可以運行:

spark-shell --master yarn --deploy-mode client 

(您不能運行在cluster部署模式的殼)

-------- ---更新

我忘了提,你也可以提交羣集作業本的配置是這樣的(感謝@JulianCienfuegos):

spark-submit --master yarn --deploy-mode cluster project-spark.py 

通過這種方式,您無法在終端中看到輸出,並且該命令在作業提交(未完成)後立即退出。

您也可以使用--deploy-mode client來查看終端中的輸出,但只是爲了進行測試,因爲如果命令中斷(例如,中斷),取消作業。您按Ctrl+C,或您的會話結束)

+0

爲什麼只有一臺機器?我有兩個名稱節點和4個數據節點。我遇到了一些奇怪的行爲,我想知道是否因爲有許多不同的spark安裝?然而,它們完全相同。 另外你怎麼知道他想要一個shell而不是提交集羣作業?爲了我的目的,我想提交集羣作業。您的解決方案是否也處理這種情況? – 2017-01-21 23:30:43

+1

@JulianCienfuegos,爲什麼只在一臺機器上?我不完全確定爲什麼以及如何,但我猜想spark會將所有必需的庫(spark庫和代碼)連同代碼一起發送給每個工作人員,因此工作人員不需要預先安裝spark。起初我也很奇怪,但我確實測試過它,它很有用。 我更新了我的答案,包括提交工作。 –

相關問題