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

问题背景:
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
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值