Kylin启动异常:java.lang.outofMemoryError:Requested array size exceeds VM limit

来源:互联网 发布:小红书是什么软件 编辑:程序博客网 时间:2024/06/04 20:08

问题背景:
1、在Kylin里跑一个较大的cube,其中这个cube是一个大表事实表,关联两张维度表,在第三步: Extract Fact Table Distinct 报错,查看Mapreduce的执行过程,发现其中有4个Reduce执行失败,失败的报错是内存溢出,多次调大reduce的内存以后 ,Kylin闪退。
2、多次启动kylin以后,查看kylin.out 报 Dumping heap to java_pidxxx.hprof….
“java.lang.outofMemoryError:Requested array size exceeds VM limit”
查看 kylin.log ,报仍然启动引起内存溢出的cube

原因分析:
cube在关联字典表时,本身事实表数据量比较大,关联的字典表也比较大,造成内存溢出,Kylin闪退后重启仍然去跑这个cube。

解决方法:
1、删除这个cube,或者把cube的状态改为disable,由于Kylin无法启动,通过api调用不成功,可能通过Kylin管理手册的方式,清除cube数据,清除垃圾数据
2、由于确认事实表hive 表是测试表,我采用了最粗暴的方式,删除了这张hive表,问题解决。

阅读全文
0 0
原创粉丝点击