我在尋找關於如何在現有虛擬紗線集羣上安裝火花的指南。在紗線集羣上安裝火花
我有一個由兩個節點組成的紗線簇,運行完美的map-reduce作業。在日誌中查找結果,一切工作正常。
現在我需要在我的vagrantfile中添加spark安裝命令和配置文件。我找不到一個好的指南,有人能給我一個很好的鏈接嗎?
我用這個指南紗線集羣
提前感謝!
我在尋找關於如何在現有虛擬紗線集羣上安裝火花的指南。在紗線集羣上安裝火花
我有一個由兩個節點組成的紗線簇,運行完美的map-reduce作業。在日誌中查找結果,一切工作正常。
現在我需要在我的vagrantfile中添加spark安裝命令和配置文件。我找不到一個好的指南,有人能給我一個很好的鏈接嗎?
我用這個指南紗線集羣
提前感謝!
我不知道流浪漢,但我已經在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
,或您的會話結束)
爲什麼只有一臺機器?我有兩個名稱節點和4個數據節點。我遇到了一些奇怪的行爲,我想知道是否因爲有許多不同的spark安裝?然而,它們完全相同。 另外你怎麼知道他想要一個shell而不是提交集羣作業?爲了我的目的,我想提交集羣作業。您的解決方案是否也處理這種情況? – 2017-01-21 23:30:43
@JulianCienfuegos,爲什麼只在一臺機器上?我不完全確定爲什麼以及如何,但我猜想spark會將所有必需的庫(spark庫和代碼)連同代碼一起發送給每個工作人員,因此工作人員不需要預先安裝spark。起初我也很奇怪,但我確實測試過它,它很有用。 我更新了我的答案,包括提交工作。 –