[记录]apache-kylin-2.6.0-bin-cdh60构建cube时遇到数据集为空就构建失败的问题

最近在apache-kylin-2.6.0-bin-cdh60构建cube时, 经常遇到构建失败的情况, 如下图:


[记录]apache-kylin-2.6.0-bin-cdh60构建cube时遇到数据集为空就构建失败的问题_第1张图片

经多次尝试,发现只要构建时数据集为空,就必然出现这个问题. 查看MR结果,如下图:


[记录]apache-kylin-2.6.0-bin-cdh60构建cube时遇到数据集为空就构建失败的问题_第2张图片

简单说就是Map进程请求的内存(配置mapreduce.map.memory.mb)超过了yarn.scheduler.maximum-allocation-mb的值.
在CDH中查看这个值:


[记录]apache-kylin-2.6.0-bin-cdh60构建cube时遇到数据集为空就构建失败的问题_第3张图片

而kylin默认的mapreduce.map.memory.mb的值为3G.
在kylin_job_conf_inmem.xml中修改mapreduce.map.memory.mb的值为:

    
        mapreduce.map.memory.mb
        1024
        
    

不需要重启kylin,重新提交构建任务即可.
这时出现另一个问题:

[记录]apache-kylin-2.6.0-bin-cdh60构建cube时遇到数据集为空就构建失败的问题_第4张图片

这个bug可参考这个 issue.
升级到2.6.1版本,解决问题.

参考:
https://www.jianshu.com/p/fec05b330f1a
https://stackoverflow.com/questions/25878458/rhadoop-reduce-capability-required-is-more-than-the-supported-max-container-cap

你可能感兴趣的:([记录]apache-kylin-2.6.0-bin-cdh60构建cube时遇到数据集为空就构建失败的问题)