Kylin 1.6.0进行Streaming Cube构建时的问题总结

在使用Kylin从Kafka来进行Streaming Cubing时,构建过程中出现如下错误:

 

从这个步骤的日志中简单显示:killed by admin

如果无法知道具体原因,那么我们可以从Yarn的作业中来查看:

进入到MR作业中,查看具体日志为:

MAP capability required is more than thesupported max container capability in the cluster. Killing the Job.mapResourceRequest: <memory:3072, vCores:1>maxContainerCapability:<memory:1961, vCores:6>

Job received Kill while in RUNNINGstate.

这里我们就可以看到作业失败的原因了,Map的作业需要更多的资源。

因为Kylin的Streaming Cubing是基于“inmem”构建算法,需要更多的内存,但是Yarn没有给MR分配足够的资源。我们可以修改Kylin的配置文件conf/kylin_job_conf_inmem.xml减小对内存的申请大小:

将默认的参数(分配给map比较大的内存),如下:

<property>

   <name>mapreduce.map.memory.mb</name>

   <value>3072</value>

   <description></description>

</property>

<property>

    <name>mapreduce.map.java.opts</name>

   <value>-Xmx2700m</value>

   <description></description>

</property>

将map的内存大小修改小一点,如下:

<property>

   <name>mapreduce.map.memory.mb</name>

   <value>1024</value>

   <description></description>

</property>

<property>

   <name>mapreduce.map.java.opts</name>

   <value>-Xmx900m</value>

   <description></description>

</property>

修改完成后,不用重启Kylin,只要重新提交失败的作业即可。

构建完成后,就可以查询:


备注:

这里说明一下使用Kafka来构建Streaming Cube的注意事项:

1.      选择Kafka的版本为0.10.0以及以上版本(这里我使用kafka_2.10-0.10.1.0版本)

2.      Kylin启动之前需要设置KAFKA_HOME的环境变量

猜你喜欢

转载自blog.csdn.net/jiangshouzhuang/article/details/54631396