當前位置:編程學習大全網 - 源碼下載 - Spark Executor數量設置

Spark Executor數量設置

我們知道Spark application的運行單元是task,資源分配單元是executor。task數的多少是和RDD的分區數相關的,整個application的並行度是 Executor數 * Task。這裏整理壹下executor的個數是如何設置的。

我們通常都使用spark-submit 來提交任務,對於不同的部署模式,需要使用不同的參數來指定executor數,實際生產環境中最常使用的部署模式就是 ON YARN 和 Standalone兩種模式。

ON YARN模式下可以使用選項 –num-executors 來直接設置application的executor數,該選項默認值是2.。 該選項對應的配置參數是 spark.executor.instances

如下,我們可以在啟動spark-shell時指定executor數

通過web監控頁面可以看到有5個executor

在standalone模式下,並沒有參數直接指定使用多少個executor數。而是按照如下方式計算而來

spark.cores.max 默認沒有設置,這時它使用的是 spark.deploy.defaultCores,而這個的默認值是Int.max,也就是不限制,這樣應用就會獲取所有可用的CPU資源,所以為了限制應用程序使用CPU資源,用戶需要設置spark.core.max配置項,約束每個應用程序所能申請的最大CPU核數。

spark.executor.cores 該參數用以設置每個executor使用的CPU資源,在 ON YARN模式下,默認是1,而standalone模式下是worker節點上所有可用的CPU的資源,顯然在實際生產環境中,這樣做也不合理,因此需要設置spark.executor.cores配置項,用於設置在standalone模式下每個Executor使用的CPU核數。

最後補充說明壹下單個executor的資源配置,也就是壹個executor使用的CPU和內存資源

選項 –executor-memory 可以指定每個executor的內存,默認是 1G,對應的配置項是 spark.executor.memory,該配置項默認單位是MB,也可以顯示指定單位 (如2g,8g)

選項 –executor-cores (適用於ON YARN和standalone模式) 可以指定每個executor的內存,對應的配置項是 spark.executor.cores

  • 上一篇:如何打開DLL文件?
  • 下一篇:第壹天上班git怎麽拉項目
  • copyright 2024編程學習大全網