MAPREDUCE服务 MRS-Spark Core内存调优:操作步骤

时间:2024-06-29 16:25:22

操作步骤

  • 优化GC,调整老年代和新生代的大小和比例。在客户端的conf/spark-default.conf配置文件中,在spark.driver.extraJavaOptions和spark.executor.extraJavaOptions配置项中添加参数:-XX:NewRatio。如," -XX:NewRatio=2",则新生代占整个堆空间的1/3,老年代占2/3。
  • 开发Spark应用程序时,优化RDD的数据结构。
    • 使用原始类型数组替代集合类,如可使用fastutil库。
    • 避免嵌套结构。
    • Key尽量不要使用String。
  • 开发Spark应用程序时,建议序列化RDD。

    RDD做cache时默认是不序列化数据的,可以通过设置存储级别来序列化RDD减小内存。例如:

    testRDD.persist(StorageLevel.MEMORY_ONLY_SER)
support.huaweicloud.com/cmpntguide-mrs/mrs_01_1977.html