遠程提交Spark應用到集羣

介紹如何在集羣之外提交Spark任務到集羣。

Spark目前支持三種集羣,分別是Spark自實現的standalone集羣、mesos集羣和YARN集羣。

使用standalone集羣,提交應用時使用–master參數指定集羣地址,如 --master spark://masternode:7077

所以只需要有spark的客戶端,可以很方便的遠程提交應用到指定的集羣。

使用mesos集羣,同樣是指定–master參數爲集羣地址,如 --master mesos://master66:5050。這種形式和standalone集羣很相似,也可以很方便的通過遠程來提交應用。

使用YARN集羣,–master參數指定爲YARN,但是要求預先設置HADOOP_CONF_DIR或者YARN_CONF_DIR的環境變量,這個環境變量指向hadoop相關配置的目錄。spark客戶端會讀取並解析其中的配置文件,並使用其中的配置信息來連接集羣管理器。

如果要在遠程提交應用到Yarn集羣,最簡單的方式就是從集羣把這些配置下載下來,然後配置環境變量。

具體可以參考資料:

  1. Remote Spark Jobs on YARN
  2. Spark submit YARN mode HADOOP_CONF_DIR contents
  3. How to submit a spark job on a remote master node in yarn client mode?

我想,或許我們可以找出spark需要的配置項,然後通過命令行的方式來指定,而不用通過配置目錄的環境變量,這樣我可以靈活的切換不同的集羣,而我確實有這個需要。

這一個方向還有待探索。

在windows系統提交應用的示例:

1
set HADOOP_CONF_DIR=E:LOCALCLUSTERSERVICE-HADOOP-a1e7b238d7f044d6b70185654c855c52 &

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章