spark性能调优-配置调优

1.在spark-submit shell中主要参数为:

  • --num-executors  3 \ 配置executor的数量
  • --driver-memory  100m \ 配置driver的内存容量
  • --executor-memory  100m \ 配置每个executor的内存大小
  • --executor-cores  3 \ 配置每个executor的cpu执行数量

2.调优

  • 增加executor的数量提升application并行执行时的执行度,意味着能并行执行的task任务数量增多了
  • 增加每个executor的cpu Core ,就是每个executor使用的cpu个数,也是提升了task执行的并行度
  • 增加内存: 当RDD持久化时,如果内存足够大,就可以将所有的数据缓存到内存中,这可以有效的降低磁盘IO;在task执行的时候,可能会创建很多的对象,如果内存太小,可能会出现jvm中堆内存满了,然后频繁的GC,进行垃圾回收以释放内存资源,这将非常影响性能和速度,在内存加大的同时,带来了更少的GC,避免了速度变慢; 在shuffle操作的时候,reduce端会需要内存来存放从各个task中拉取的数据进行聚合,内存不够的话,就会写入磁盘,造成了磁盘IO,导致性能降低。

你可能感兴趣的:(spark)