使用提交命令

park-submit
\--master yarn --deploy-mode  client
\--driver-memory 2g
\--executor-memory 4g
\--executor-cores 4
\--num-executors 3

运行后任务报错


2020-09-09 10:53:43 INFO  TaskSetManager:54 - Starting task 12.0 in stage 6.0 (TID 420, data-03.com, executor 2, partition 12, NODE_LOCAL, 8637 bytes)
2020-09-09 10:53:43 WARN  TaskSetManager:66 - Lost task 2.0 in stage 6.0 (TID 410, data-03.com, executor 2): java.lang.OutOfMemoryError: GC overhead limit exceededat java.lang.StringCoding.encode(StringCoding.java:350)at java.lang.String.getBytes(String.java:941)at org.apache.spark.unsafe.types.UTF8String.fromString(UTF8String.java:110)at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage2.serializefromobject_doConsume$(Unknown Source)at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage2.processNext(Unknown Source)at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)at org.apache.spark.sql.execution.WholeStageCodegenExec$$anonfun$10$$anon$1.hasNext(WholeStageCodegenExec.scala:614)at org.apache.spark.sql.execution.UnsafeExternalRowSorter.sort(UnsafeExternalRowSorter.java:216)at org.apache.spark.sql.execution.exchange.ShuffleExchangeExec$$anonfun$2.apply(ShuffleExchangeExec.scala:295)at org.apache.spark.sql.execution.exchange.ShuffleExchangeExec$$anonfun$2.apply(ShuffleExchangeExec.scala:266)at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$25.apply(RDD.scala:830)at org.apache.spark.rdd.RDD$$anonfun$mapPartitionsInternal$1$$anonfun$apply$25.apply(RDD.scala:830)at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)at org.apache.spark.rdd.RDD.iterator(RDD.scala:288)at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:38)at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)at org.apache.spark.rdd.RDD.iterator(RDD.scala:288)at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:96)at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:53)at org.apache.spark.scheduler.Task.run(Task.scala:109)at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:345)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)2020-09-09 10:53:44 INFO  YarnSchedulerBackend$YarnDriverEndpoint:54 - Disabling executor 2.
2020-09-09 10:53:44 INFO  DAGScheduler:54 - Executor lost: 2 (epoch 0)
2020-09-09 10:53:44 INFO  BlockManagerMasterEndpoint:54 - Trying to remove executor 2 from BlockManagerMaster.
2020-09-09 10:53:44 INFO  BlockManagerMasterEndpoint:54 - Removing block manager BlockManagerId(2, data-03.com, 21483, None)
2020-09-09 10:53:44 INFO  BlockManagerMaster:54 - Removed 2 successfully in removeExecutor
2020-09-09 10:53:44 INFO  DAGScheduler:54 - Shuffle files lost for executor: 2 (epoch 0)
2020-09-09 10:53:45 WARN  YarnSchedulerBackend$YarnSchedulerEndpoint:66 - Requesting driver to remove executor 2 for reason Container marked as failed: container_1597910745756_0040_01_000003 on host: data-03.com. Exit status: 143. Diagnostics: Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143
Killed by external signal

可以看到报的是JVM的内存溢出,这种情况下一般都是分配给任务使用的内存过小,可以缩小每个executor上的executor-cores也可以增大 executor-memory

spark任务jvm内存溢出相关推荐

  1. 生产环境 JVM 内存溢出案例分析

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:blog.csdn.net/prestigeding ...

  2. 生产环境JVM内存溢出案例分析

    如果我们所在公司的业务量比较大,在生产环境经常会出现JVM内存溢出的现象,那我们该如何快速响应,快速定位,快速恢复问题呢? 本文将通过一个线上环境JVM内存溢出的案例向大家介绍一下处理思路与分析方法. ...

  3. 生产环境JVM内存溢出案例分析!

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:Nginx 为什么快到根本停不下来? 个人原创100W+访问量博客:点击前往,查看更多 来源:blog.csdn ...

  4. Tomcat中JVM内存溢出及合理配置(转:http://blog.csdn.net/ye1992/article/details/9344807)

    Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识 ...

  5. jvm 内存溢出问题排查方法

    如果你做TCP通讯或者map集合操作,并发处理等功能时,很容易出现 Java 内存溢出的问题.本篇文章,带领大家深入jvm,分析并找出jvm内存溢出的代码. jvm中除了程序计数器,其他的区域都有可能 ...

  6. linux查看tomcat启动内存溢出,关于tomcat乱码以及tomcat jvm 内存溢出问题的解决方案和理论-Fun言...

    一:乱码问题1(前端通过url方式传递中文参数后台收到的是????) 此为Tomcat根目录-conif-server.xml 中 connectionTimeout="20000″ red ...

  7. tomcat中 JVM 内存溢出及合理配置

    Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识 ...

  8. 一位面试官询问我:Java中的JVM内存溢出和内存泄露是什么?我这么回答成功拿到了offer

    一位面试官询问我:Java中的JVM内存溢出和内存泄露是什么?我这么回答成功拿到了offer. 墨眉无锋墨家代码 2020-11-22 20:16:50 10525 收藏 56 分类专栏: Java ...

  9. java 内存溢出时打印_如何在JVM内存溢出的时候自动dump内存快照

    解决OOM问题的一个初步思路 首先第一个问题,假设发生OOM了,必然说明系统中某个区域的对象太多了,塞满了那个区域,而且一定是无法回收掉那些对象,最终才会导致内存溢出的. 既然是这个思路,要解决OOM ...

最新文章

  1. 2018年工业机器人销量排位_2020年全球工业机器人现状与竞争情况 中国为全球最大供应国...
  2. Python成员运算符
  3. JS中的算法与数据结构——排序(Sort)
  4. Matlab图像分割---使用主动轮廓 (snake) 方法进行图像分割
  5. win10怎么更新显卡驱动_更新Win10设备驱动程序的4种方法,方便实用,你知道几种...
  6. Mac实用软件及功能总结
  7. LEACH算法仿真实验
  8. DTU有什么用?是怎样工作的?
  9. 基于jquery读取csv
  10. web播放m3u8文件且进行加密处理
  11. Windows7系统优化(批处理)
  12. 【动手学深度学习】李沐——卷积神经网络
  13. python库源码分析_python第三方库Faker源码解读
  14. 计算机域账号更改添加
  15. 【数据安全】数据脱敏解决方案
  16. **Matlab中CLF的使用**
  17. 英语不好计算机学不会,英语和数学不好的人是不是学不会编程?
  18. Android如何安全替换证书
  19. 3种解决安卓(android)手机锁屏密码忘记的方法!
  20. 设计师7个细微但是高效有用的习惯

热门文章

  1. Mission系统预览
  2. 2022有哪些不容错过的后端技术趋势
  3. 高级/专家工程师职位和面试题
  4. 怎样的代码算是好代码?
  5. 设计模式:享元模式(Flyweight)
  6. Mac配置NDK环境
  7. Go 应用性能优化指北
  8. count sort, radix sort, bucket sort
  9. 思科Webex与下一代视频会议
  10. 服务器开发设计之算法宝典