2017-07-26 56 views
1

提前道歉,因爲我是新來的火花。我創建了一個具有4個工作站的獨立模式的Spark集羣,並且在成功配置工作站屬性後,我想知道如何配置主屬性。在火花集羣中配置主節點

我寫一個應用程序,並使用它SparkSession.builder連接到集羣(我不希望它使用火花提交提交。)

我知道,工人可以在conf/spark-env.sh文件中配置並具有可以設置的參數,如'SPARK_WORKER_MEMORY'和'SPARK_WORKER_CORES'

我的問題是:如何配置主設備的屬性?因爲此文件中沒有「SPARK_MASTER_CORES」或「SPARK_MASTER_MEMORY」。

我想過在spark-defaults.conf文件中設置這個,但是它似乎只用於spark-submit。

我想過在應用程序中使用SparkConf().set("spark.driver.cores", "XX")來設置它,但是這隻能指定應用程序使用的內核數量。

任何幫助將不勝感激。

謝謝。

+0

如果你不想使用火花提交你怎麼打算將作業提交到集羣? – dumitru

+0

我的腳本在一個連接到火花簇的jupyter筆記本中。 – msharky

回答

1

三種設置Spark Master節點(Driver)和Spark Worker節點配置的方法。我將展示如何設置主節點的內存。可以找到其他設置here

1-以編程方式通過SpackConf類。

例子:

new SparkConf().set("spark.driver.memory","8g") 

2-使用火花提交:確保不要設置相同configuraiton在你的代碼(通過編程像1),並同時做火花提交。如果已經以編程方式配置了設置,則spark-submit中提到的與(1)重疊的每個作業配置都將被忽略。

例如:

spark-submit --driver-memory 8g 

3-穿過火花defaults.conf: 如果沒有上述設定此設置將是默認值。

例如:

spark.driver.memory  8g 
+0

謝謝你的回覆。對於方法3,這是否意味着當我使用'sbin/start-master.sh'啓動spark時,主節點將擁有8g內存?或者是隻有在執行spark-submit時纔讀取的'spark-defaults.conf'文件? – msharky