最近在apache-kylin-2.6.0-bin-cdh60構(gòu)建cube時, 經(jīng)常遇到構(gòu)建失敗的情況, 如下圖:
經(jīng)多次嘗試,發(fā)現(xiàn)只要構(gòu)建時數(shù)據(jù)集為空,就必然出現(xiàn)這個問題. 查看MR結(jié)果,如下圖:
簡單說就是Map進(jìn)程請求的內(nèi)存(配置mapreduce.map.memory.mb)超過了yarn.scheduler.maximum-allocation-mb的值.
在CDH中查看這個值:
而kylin默認(rèn)的mapreduce.map.memory.mb的值為3G.
在kylin_job_conf_inmem.xml中修改mapreduce.map.memory.mb的值為:
<property>
<name>mapreduce.map.memory.mb</name>
<value>1024</value>
<description></description>
</property>
不需要重啟kylin,重新提交構(gòu)建任務(wù)即可.
這時出現(xiàn)另一個問題:
這個bug可參考這個issue.
升級到2.6.1版本,解決問題.
參考:
http://www.reibang.com/p/fec05b330f1a
https://stackoverflow.com/questions/25878458/rhadoop-reduce-capability-required-is-more-than-the-supported-max-container-cap