Kylin 参数优化经验

删除回忆录丶 提交于 2020-01-26 09:23:11

目录

 

优化前

OOM

执行时间过长


优化前

kylin执行构建如果因为OOM等原因运行失败后,调整配置参数,无需从头开始构建,kylin有个牛x的功能叫恢复执行,可以从失败的阶段开始重新执行,笔者之前不知道有这个功能,都是重头开始构建,执行到失败的步骤运行时间又很长,试错成本特别高。

OOM

Build Cube with Spark阶段OOM

设置参数 kylin.engine.spark-conf.spark.yarn.executor.memoryOverhead=10500 解决问题。

其他配置参数

前缀

影响范围

说明

kylin.source.hive.config-override.

  • Create Intermediate Flat Hive Table

  • Redistribute Flat Hive Table

调整Hive作业的参数,一般不需要修改

kylin.engine.mr.uhc-config-override.

  • Build UHC Dictionary

一般不需要修改

kylin.engine.mr.base-cuboid-config-override.

  • Build Base Cuboid

如果Cube有全局字典,建议通过该参数调大Build Base Cuboid的mapper内存

kylin.engine.mr.config-override.

  • Extract Fact Table Distinct Columns

  • Build UHC Dictionary

  • Build Base Cuboid

  • Build N-Dimension Cuboid

  • Convert Cuboid Data to HFile

调整所有MR作业参数。如果需要调大任务内存,请优先考虑其他参数进行针对性的调整

kylin.engine.spark-conf.

  • Build Cube with Spark

调整Spark参数

例如下面的两行参数将调大Build Base Cuboid这一步的mapper任务内存。

kylin.engine.mr.base-cuboid-config-override.mapreduce.reduce.memory.mb=6500

kylin.engine.mr.base-cuboid-config-override.mapred.map.child.java.opts=-Xmx6g

执行时间过长

  • Convert Cuboid Data to HFile 步骤

运行时间过长达到50min,查看任务后发现只有1个reduce,再查看reduce总的输入接近9G

优化思路是提高reduce个数,在Convert Cuboid Data to HFile 步骤,本质上任务是将cube数据转成Hbase,因此reduce的个数和hbase的region的个数是一致的,在kylin中通过三个参数控制region的个数。

参数 说明
kylin.hbase.region.cut 每个region切片的大小(单位是G),缺省为5G
kylin.hbase.region.count.min 最少的region个数
kylin.hbase.region.count.max 最多的region个数

优化kylin.hbase.region.cut=2,kylin.hbase.region.count.min=2后执行时间从 50m降到16m。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!