1、降低cache操作的内存占比

  1.1 为什么要降低cache操作的内存占比

    spark的堆内存分别两部分,一部分用来给Rdd的缓存进行使用,另一部分供spark算子函数运行使用,存放函数中的对象

    默认情况下,供Rdd缓存使用的占0.6,但是,有些时候,不需要那么多的缓存,反而函数计算需要更多的内存,这样导致频繁的minor gc和full gc,导致性能降低。

  1.2 如何调节

    根据spark作业的yarn界面,如果有频繁的gc,就需要调节 

//调节cache操作的内存占比
conf.set("spark.storage.memoryFraction", "0.4");

2、调节executor的堆外内存

  2.1 什么情况下进行调节

    当spark作业中,是不是的报错,shuffle file cannot find,executro、task lost,out of memory等,可能是堆外内存不足,导致executor挂掉,task拉取该executor的数据是无法获取到,导致以上错误,甚至spark作业崩溃。

  2.2 如何调节

    在spark作业的提交脚本中,修改spark.yarn.executor.memoryOverhead参数(默认为300多M)

/usr/local/spark/bin/spark-submit \
--class com.ibeifeng.sparkstudy.WordCount \
--num-executors \
--driver-memory 6g \
--executor-memory 6g \
--executor-cores \
--master yarn-cluster \
--queue root.default \
--conf spark.yarn.executor.memoryOverhead= \ 调节堆外内存
--conf spark.core.connection.ack.wait.timeout= \ 调节连接时间
/usr/local/spark/spark.jar

3、调节连接等待时间

  3.1 什么情况下需要调节

    当一个executor的blockManager需要从其他的executor的blockManager中拉取数据,但是目标executor正处在gc阶段,此时源executor会进入等待连接状态(默认60s),如果多次拉取失败则会报   一串filed id  uuid(dsfsss-12323-sdsdsd-wewe) not found ,file lost,甚至spark作用直接崩溃。

  3.2 如何调节

    在spark作业的提交脚本中,修改conf spark.core.connection.ack.wait.timeout参数(默认为60s)

最新文章

  1. SpringHttpInvoker解析1-使用示例
  2. Cas_Server端安装
  3. ubuntu下配置java环境【转】
  4. URAL1658. Sum of Digits(DP)
  5. 转:简单介绍 P3P 技术
  6. SqlServer字段说明查询(表基本信息查询)
  7. 《Lua游戏开发实践指南》读后感
  8. The Moving Points hdu4717
  9. 基于 HTML5 Canvas 的 3D 机房创建
  10. 容器化的 DevOps 工作流
  11. 树莓派控制高电平蜂鸣器(c语言+新手向)
  12. iOS开源照片浏览器框架SGPhotoBrowser的设计与实现
  13. jdk1.7更新visualvm插件
  14. UEditor调用上传图片、上传文件等模块
  15. Thymleaf中th:each标签遍历list如何获取index
  16. 快速失败/报错机制 - fail-fast
  17. nginx配置http访问自动跳转到https
  18. 首席数据官(CDO)的崛起
  19. eclipse 项目转as项目时 .so文件 jniLibs的设置
  20. DataGridView使用技巧三:不显示最下面的新行、判断新增行

热门文章

  1. Regular Expression 範例
  2. Centos7 部署ftp
  3. C常量与变量
  4. SourceTree 这是一个无效源路径/URL的 解决方法
  5. Matplotlib_key_point
  6. java基础之轻松搞定反射
  7. 在迭代一个集合的时候,如何避免ConcurrentModificationException?
  8. Vue2 实现时空穿梭框功能模块
  9. Spring讲解(三)
  10. JSON和fastjson