目录
优化前
kylin执行构建如果因为OOM等原因运行失败后,调整配置参数,无需从头开始构建,kylin有个牛x的功能叫恢复执行,可以从失败的阶段开始重新执行,笔者之前不知道有这个功能,都是重头开始构建,执行到失败的步骤运行时间又很长,试错成本特别高。
OOM
Build Cube with Spark阶段OOM
设置参数 kylin.engine.spark-conf.spark.yarn.executor.memoryOverhead=10500 解决问题。
其他配置参数
前缀 |
影响范围 |
说明 |
kylin.source.hive.config-override. |
|
调整Hive作业的参数,一般不需要修改 |
kylin.engine.mr.uhc-config-override. |
|
一般不需要修改 |
kylin.engine.mr.base-cuboid-config-override. |
|
如果Cube有全局字典,建议通过该参数调大Build Base Cuboid的mapper内存 |
kylin.engine.mr.config-override. |
|
调整所有MR作业参数。如果需要调大任务内存,请优先考虑其他参数进行针对性的调整 |
kylin.engine.spark-conf. |
|
调整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。
来源:CSDN
作者:IT路上的苦行僧
链接:https://blog.csdn.net/hysfwjr/article/details/104010268