Update README.md

main
Oeljeklaus 7 years ago committed by GitHub
parent 1b6d0c18f2
commit 1aedce3fe7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -497,3 +497,24 @@ Spark中堆内存又被划分成为两部分一块是专门用来给RDD
cache操作的内存占比大不了用persist操作选择将缓存的数据写入磁盘配合序列化方式减少算子缓存内存占比。
一句话让task执行算子函数有更多的内存可以是使用。可以使用参数spark.storage.memoryFraction进行调节默认是0.6。
## JVM调优之调节executor堆外内存之连接等待时长
有时候如果你的spark作业处理的数据量特别大的几亿数据量然后作业一运行时不时的保存shuffle file cannot findtask lost oom。
可以说你的executor的堆外内存不足够导致executor在运行的过程中可能会内存溢出然后导致后续的stage的task在运行的时候可能要从一些
executor中拉去shuffle map output文件但是executor可能会挂掉关联的block manager也没有了可能会报shuffle output not found
等spark作业会彻底崩溃。
上述情况可以考虑调节executor的堆外内存占比此外有时堆外内存调节的比较的时候对于性能的提升会有一定的提升。
如何调节?
在spark-submit的脚本中去用--conf的方式去添加配置。
spark.yarn.executor.memoryOverhead参数针对的的是yarn的提交方式。
通过这个参数调节以后,可以避免以上问题的避免。
对于等待时间就是在出现上述错误的时候连接不上拉去数据的Block Manager就会出现这个问题我们需要在spark-submit脚本中配置等待时长默认是60秒。

Loading…
Cancel
Save