Spark配置參數調優

CPU各核負載量很不均勻,內存也沒有用滿,系統的資源沒有獲得充分利用,該如何利用?markdown

(1)Spark的RDD的partition個數建立task的個數是對應的;oop

(2)Partition的個數在hadoop的RDD中由block的個數決定的。spa

 

內存:系統總內存數 = work內存大小 * work數 = SPARK_WORKER_MEMORY * SPARK_WORKER_INSTANCEScode

 

CPU: 系統總的task數 = work數 * work所佔的cores數 = SPARK_WORKER_INSTANCES * SPARK_WORKER_CORES內存

 

 
  
  1. 例子:Cpu(12core)  mem(48G)計算task並行度,內存分配狀況,調優參數:
  2. SPARK_WORKER_INSTANCES=12
  3. SPARK_WORKER_CORES=1
  4. SPARK_WORKER_MEMORY=4G


若是沒有在spark-env.sh配置文件中配置以上參數,那麼Spark運行默認是系統全部的資源,以下圖:hadoop

若是在spark-env.sh文件中配置了以上參數,則:ci

 
  
  1. export SPARK_WORKER_MEMORY=4g
  2. export SPARK_WORKER_CORES=1
  3. export SPARK_WORKER_INSTANCES=12

相關文章
相關標籤/搜索