Apache Kylin 入門系列目錄html
前面兩篇文章介紹了 Apache Kylin 相關的基本概念以及其工做原理,下面將進入實戰部分,首先就是安裝部署與配置。java
從上述配置能夠看到,最新版(V2.5.1)有了諸多的變化,支持了 Hadoop 3.1,HBase 2.0;JDK 需求爲 JDK8;CDH 用戶須要注意的是:V2.5 已經支持 CDH 6.0 了。node
詳細步驟可參考官方網站,下面簡單介紹 Kylin 的安裝步驟:web
$KYLIN_HOME/bin/check-env.sh
;$KYLIN_HOME/bin/kylin.sh start
;http://hostname:7070/kylin
查看,初始用戶名和密碼爲 ADMIN/KYLIN
;$KYLIN_HOME/bin/kylin.sh stop
便可中止 Kylin。組件名 | 文件名 | 描述 |
---|---|---|
Kylin | kylin.properties |
Kylin 使用的全局配置文件 |
Kylin | kylin_hive_conf.xml |
Hive 任務的配置項,在構建 Cube 的第一步經過 Hive 生成中間表時,會根據該文件的設置調整 Hive 的配置參數 |
Kylin | kylin_job_conf_inmem.xml |
包含了 MR 任務的配置項,當 Cube 構建算法是 Fast Cubing 時,會根據該文件的設置調整構建任務中的 MR 參數 |
Kylin | kylin_job_conf.xml |
MR 任務的配置項,當 kylin_job_conf_inmem.xml 不存在,或 Cube 構建算法是 Layer Cubing 時,會根據該文件的設置調整構建任務中的 MR 參數 |
Hadoop | core-site.xml |
Hadoop使用的全局配置文件,用於定義系統級別的參數,如HDFS URL、Hadoop臨時目錄等 |
Hadoop | hdfs-site.xml |
用於配置HDFS參數,如 NameNode 與 DataNode 存放位置、文件副本個數、文件讀取權限等 |
Hadoop | yarn-site.xml |
用於配置 Hadoop 集羣資源管理系統參數,如 ResourceManader 與 NodeManager 的通訊端口,web監控端口等 |
Hadoop | mapred-site.xml |
用於配置 MR 參數,如 reduce 任務的默認個數,任務所可以使用內存的默認上下限等 |
Hbase | hbase-site.xml |
用於配置 Hbase 運行參數,如 master 機器名與端口號,根數據存放位置等 |
Hive | hive-site.xml |
用於配置 Hive 運行參數,如 hive 數據存放目錄,數據庫地址等 |
yarn.nodemanager.resource.memory-mb
配置項的值不小於 8192MByarn.scheduler.maximum-allocation-mb
配置項的值不小於 4096MBmapreduce.reduce.memory.mb
配置項的值不小於 700MBmapreduce.reduce.java.opts
配置項的值不小於 512MByarn.nodemanager.resource.cpu-vcores
配置項的值不小於 8配置名 | 默認值 | 說明 |
---|---|---|
kylin.metadata.url | kylin_metadata@hbase |
Kylin 元數據庫路徑 |
kylin.env.hdfs-working-dir | /kylin |
Kylin 服務所用的 HDFS 路徑 |
kylin.server.mode | all |
運行模式,能夠是 all,job,query 中的一個 |
kylin.source.hive.database-for-flat-table | default |
Hive 中間表保存在哪一個 Hive 數據庫中 |
kylin.storage.hbase.compression-codec | none |
HTable 所採用的壓縮算法 |
kylin.storage.hbase.table-name-prefix | kylin_ |
HTable 表名的前綴 |
kylin.storage.hbase.namespace | default |
HTable 默認表空間 |
kylin.storage.hbase.region-cut-gb | 5 |
region 分割的大小 |
kylin.storage.hbase.hfile-size-gb | 2 |
hfile 大小 |
kylin.storage.hbase.min-region-count | 1 |
最小 region 個數 |
kylin.storage.hbase.max-region-count | 500 |
最大 region 個數 |
kylin.query.force-limit | -1 |
爲select * 語句強制添加 LIMIT 分句 |
kylin.query.pushdown.update-enabled | false |
是否開啓查詢下壓 |
kylin.query.pushdown.cache-enabled | false |
開啓查詢是否緩存 |
kylin.cube.is-automerge-enabled | true |
segment 自動合併功能 |
kylin.metadata.hbase-client-scanner-timeout-period | 10000 |
HBase 掃描數據的超時時間 |
kylin.metadata.hbase-rpc-timeout | 5000 |
執行 RPC 操做的超時時間 |
kylin.metadata.hbase-client-retries-number | 1 |
HBase 重試次數 |
對上述參數的一些說明:算法
kylin.query.force-limit
默認是沒有限制,推薦設置爲 1000;kylin.storage.hbase.hfile-size-gb
能夠設置爲 1,有助於加快 MR 速度;kylin.storage.hbase.min-region-count
能夠設置爲 HBase 節點數,強制數據分散在 N 個節點;kylin.storage.hbase.compression-codec
默認沒有進行壓縮,推薦在環境運行狀況下配置壓縮算法。全部使用 kylin.engine.spark-conf.
做爲前綴的 Spark 配置屬性都能在 $KYLIN_HOME/conf/kylin.properties
中進行管理,固然這些參數支持在 Cube 的高級配置中進行覆蓋。下面是推薦的 Spark 動態資源分配配置:數據庫
//運行在yarn-cluster模式,固然能夠配置爲獨立 Spark 集羣:spark://ip:7077
kylin.engine.spark-conf.spark.master=yarn
kylin.engine.spark-conf.spark.submit.deployMode=cluster
//啓動動態資源分配
kylin.engine.spark-conf.spark.dynamicAllocation.enabled=true
kylin.engine.spark-conf.spark.dynamicAllocation.minExecutors=2
kylin.engine.spark-conf.spark.dynamicAllocation.maxExecutors=1000
kylin.engine.spark-conf.spark.dynamicAllocation.executorIdleTimeout=300
kylin.engine.spark-conf.spark.shuffle.service.enabled=true
kylin.engine.spark-conf.spark.shuffle.service.port=7337
//內存設置
kylin.engine.spark-conf.spark.driver.memory=2G
//數據規模較大或者字典較大時能夠調大 executor 內存
kylin.engine.spark-conf.spark.executor.memory=4G
kylin.engine.spark-conf.spark.executor.cores=2
//心跳超時
kylin.engine.spark-conf.spark.network.timeout=600
//分區大小
kylin.engine.spark.rdd-partition-cut-mb=100
複製代碼
Cube Planner 是 V2.3 後添加的新功能,使用該功能能夠在 Cube 建立成功後便可看到所有 Cuboid 的數目及組合狀況;此外配置成功後,能夠看到線上的 Query 與 Cuboid 的匹配狀況,使得能夠查看到熱門、冷門甚至沒有使用到的 Cuboid,藉助這些能夠指導咱們對 Cube 構建進行二次優化;關於 Cube Planner 的使用,能夠參考官方文檔:kylin.apache.org/cn/docs/tut…。apache
Any Code,Code Any!
編程
掃碼關注『AnyCode』,編程路上,一塊兒前行。瀏覽器