1. 程式人生 > >Spark on Yarn:任務提交引數配置

Spark on Yarn:任務提交引數配置

  • 當在YARN上執行Spark作業,每個Spark executor作為一個YARN容器執行。Spark可以使得多個Tasks在同一個容器裡面執行。

以下引數配置為例子

spark-submit

--master yarn-cluster  / yarn-client    #使用叢集排程模式/客戶端模式

--num-executors  2         # executor 數量

--executor-cores  16           #設定單個executor能併發執行task數,根據job設定,推薦值2-16 (這裡不是指CPU數,叢集不限制CPU使用)

--driver-memory 4g       #driver的記憶體大小,推薦值2-6G,不宜太大

--executor-memory  6g      #單個executor的記憶體大小,根據job需求以及併發數設定,最大不要超過30G

1、containers的最大值就是spark 設定的 num-executors值 ;

2、實際佔用的總的vcores≈(executor-cores)*containers(實際executors)

3、記憶體計算公式:((實際佔用的總的containers)*(executor-memory+container暫用記憶體數,ambari預設1g))+(driver-memory)。