fishjoy / blog

Albert Cheng's blog.
6 stars 0 forks source link

为什么利用了off-heap内存还是报错? #1

Open lijufeng2016 opened 5 years ago

lijufeng2016 commented 5 years ago

我rdd的持久化级别用了.persist(StorageLevel.OFF_HEAP());,两个参数 --conf spark.memory.offHeap.enabled=true --conf spark.memory.offHeap.size=15g 我看了spark ui,数据全部存在off-heap内存,是够用的,executor内存: --executor-memory 10g,为什么还会报executor内存不足?按理说我存储数据是用off-heap内存了,on-heap内存足够当做计算内存用了啊

fishjoy commented 5 years ago

是哪个spark版本?

lijufeng2016 commented 5 years ago

2.3版本,我发现on-heap和off-heap在cache rdd的不能同时用,数据存储只会选择其中一个方式

fishjoy commented 5 years ago

你的机器内存有多大啊?是不是都超过机器内存了? cache rdd底层就是用设置的存储类型来进行rdd的存储的,如果设置成off_heap自然就是off_heap。