(十二)Spark学习笔记之资源调优

资源调优

对 Spark 的资源调优,其主要对 Spark 运行过程中各个使用资源的地方,通过调节各种参数来优化资源使用的效率,从而提升 Spark 作业的执行性能。

主要资源的参数调优,如 driver,executor 的内存,CPU core 进行设置。

JVM 内存管理

Java 的堆内存分为两个区域:新生代和老生代。新生代保存的是生命周期较短的对象;老生代保存生命周期较长的对象。

新生代又可以分为三个区域:Eden、from Survivor、to Survivor。

垃圾回收过程:当 Eden 已满时,Eden 运行一次 minor GC,并将 Eden 和 From Survivor 中存在的对象复制到 to Survivor。此时,from Survivor 和 to Survivor 进行交换。如果一个对象足够老,或者 to Survivor 已满,则会移动带老年代。最后当老年代接近满时,会出发 full GC。

  1. 通过收集垃圾回收信息,判断是否有太多的垃圾回收过程。假如 full gc 在一个 task 完成之前触发了好几次,说明运行 task 的内存空间不足,需要考虑增加内存了。
  2. 配置 JVM 相关信息的位置 spark-default.conf
    spark.executor.extraJavaOptions
    spark.driver.extraJavaOptions
    在这里插入图片描述

driver 和 executor 的 JVM 堆内存的大小通过 driver-memory 和 executor.memory 配置项设置。

猜你喜欢

转载自blog.csdn.net/dec_sun/article/details/92759371
今日推荐