Kylin 參數優化經驗

目錄

 

優化前

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。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章