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

相关文章
相关标签/搜索