2017-10-06 72 views
0

因此,當開發火花程序,我使用我的本地機器,因此必須setMaster「本地」。但是,當我提交由我本地開發的程序構建的jar時,我顯然不想使用「本地」模式。在火花代碼管理conf.setMaster()使用配置文件來自動設置本地或紗線集羣

如何在生產時使用可能的類型安全配置來設置「本地」測試和「紗線羣集」?

編輯:

基於來自@Shaido的溶液中,IDEA的Intellij:

轉到:運行 - > EDIR confirgurations->在應用配置集: VM options = -Dspark.master=local[*]

回答

0

如果您使用的是IDE,那麼您不需要將setMaster硬編碼到代碼中。

對於Eclipse,你可以去「運行配置」 - >「參數」 - >「VM參數」,並添加

-Dspark.master=local[*] 

本地運行時,這將使用所有可用的核心。其他IDE應該具有類似的配置。這樣,就不需要爲代碼本身添加任何東西。

當集羣上運行,使用:

spark-submit --master yarn --deploy-mode cluster 
0

在理想情況下yarn-cluster或local應該作爲命令行輸入,並且在代碼中使用spark-submit而不是硬編碼。你可以通過

spark-submit --master yarn --deploy-mode cluster in spark 2.1 

如果從羣集中提交和local如果你是從本地提交。