【Kylin】Kylin入門解析(一)

(圖片來源於網絡,侵刪)


一、Kylin 概述

1.Kylin 簡介

Apache Kylin 是一個開源的分佈式分析引擎,提供 Hadoop/Spark 之上的 SQL 查詢接口多維分析(OLAP)能力以支持超大規模數據,最初由 eBay Inc 開發並貢獻至開源社區。它能在亞秒內查詢巨大的 Hive 表

2.Kylin 架構

在這裏插入圖片描述
1)REST Server
REST Server 是一套面向應用程序開發的入口點,旨在實現針對 Kylin 平臺的應用開發
工作。 此類應用程序可以提供查詢、獲取結果、觸發 cube 構建任務、獲取元數據以及獲取
用戶權限等等。另外可以通過 Restful 接口實現 SQL 查詢

2)查詢引擎(Query Engine)
當 cube 準備就緒後,查詢引擎就能夠獲取並解析用戶查詢。它隨後會與系統中的其它
組件進行交互,從而向用戶返回對應的結果

3)路由器(Routing)
在最初設計時曾考慮過將 Kylin 不能執行的查詢引導去 Hive 中繼續執行,但在實踐後
發現 Hive 與 Kylin 的速度差異過大,導致用戶無法對查詢的速度有一致的期望,很可能大
多數查詢幾秒內就返回結果了,而有些查詢則要等幾分鐘到幾十分鐘,因此體驗非常糟糕。
最後這個路由功能在發行版中默認關閉

4)元數據管理工具(Metadata)
Kylin 是一款元數據驅動型應用程序。元數據管理工具是一大關鍵性組件,用於對保存
在 Kylin 當中的所有元數據進行管理,其中包括最爲重要的 cube 元數據。其它全部組件的
正常運作都需以元數據管理工具爲基礎。 Kylin 的元數據存儲在 hbase 中

5)任務引擎(Cube Build Engine)
這套引擎的設計目的在於處理所有離線任務,其中包括 shell 腳本、Java API 以及 MapReduce 任務等等。任務引擎對 Kylin 當中的全部任務加以管理與協調,從而確保每一項任務都能得到切實執行並解決其間出現的故障

3.Kylin 特點

Kylin 的主要特點包括支持 SQL 接口、支持超大規模數據集、亞秒級響應、可伸縮性、高吞吐率、BI 工具集成等
1)標準 SQL 接口:Kylin 是以標準的 SQL 作爲對外服務的接口

2)支持超大數據集:Kylin 對於大數據的支撐能力可能是目前所有技術中最爲領先的早在 2015 年 eBay 的生產環境中就能支持百億記錄的秒級查詢,之後在移動的應用場景中又有了千億記錄秒級查詢的案例

3)亞秒級響應:Kylin 擁有優異的查詢相應速度,這點得益於預計算,很多複雜的計算,
比如連接、聚合,在離線的預計算過程中就已經完成,這大大降低了查詢時刻所需的計算量,
提高了響應速度。

4)可伸縮性和高吞吐率:單節點 Kylin 可實現每秒 70 個查詢,還可以搭建 Kylin 的集羣。

5)BI 工具集成
Kylin 可以與現有的 BI 工具集成,具體包括如下內容。
ODBC:與 Tableau、Excel、PowerBI 等工具集成
JDBC:與 Saiku、BIRT 等 Java 工具集成
RestAPI:與 JavaScript、Web 網頁集成
Kylin 開發團隊還貢獻了 Zepplin 的插件,也可以使用 Zepplin 來訪問 Kylin 服務

二、Kylin 安裝

2.1 Kylin 依賴環境

安裝 Kylin 前需先部署好 Hadoop、Hive、Zookeeper、HBase,並且需要在/etc/profile 中配置以下環境變量 HADOOP_HOMEHIVE_HOMEHBASE_HOME,記得 source 使其生效

之前我們已經安裝好了Hadoop、Hive、以及Zookeeper,但是還沒有安裝HBase,詳細安裝步驟請點擊👉 【HBase】HBase入門詳解(二)

2.2 Kylin 搭建

1)下載 Kylin 安裝包
下載地址:http://kylin.apache.org/cn/download

2)解壓 apache-kylin-2.5.1-bin-hbase1x.tar.gz 到 /opt/modules
tar -zxvf apache-kylin-2.5.1-bin-hbase1x.tar.gz -C /opt/modules
注意:啓動前檢查 HADOOP_HOME,HIVE_HOME,HBASE_HOME 是否配置完畢

3)配置
將core-site.xml、hdfs-site.xml、hive-site.xml、spark-defaults.conf軟連接到kylin的conf目錄下

修改 kylin.properties文件

36行 kylin.env.hdfs-working-dir=/apps/kylin
42行 kylin.env.zookeeper-base-path=/kylin
106行 kylin.source.hive.keep-flat-table=false
109行 kylin.source.hive.database-for-flat-table=default
112行 kylin.source.hive.redistribute-flat-table=true
118行 kylin.storage.url=hbase
121行 kylin.storage.hbase.table-name-prefix=KYLIN_
124行 kylin.storage.hbase.namespace=default
127行 kylin.storage.hbase.compression-codec=none
310行 kylin.env.hadoop-conf-dir=/opt/modules/hadoop/etc/hadoop
313行 kylin.engine.spark.rdd-partition-cut-mb=10
316行 kylin.engine.spark.min-partition=1
319行 kylin.engine.spark.max-partition=1000
322行 kylin.engine.spark-conf.spark.master=yarn
323行 kylin.engine.spark-conf.spark.submit.deployMode=cluster
324行 kylin.engine.spark-conf.spark.yarn.queue=default
325行 kylin.engine.spark-conf.spark.driver.memory=512M
326行 kylin.engine.spark-conf.spark.executor.memory=1G
327行 kylin.engine.spark-conf.spark.executor.instances=2
328行 kylin.engine.spark-conf.spark.yarn.executor.memoryOverhead=512
329行 kylin.engine.spark-conf.spark.shuffle.service.enabled=true
330行 kylin.engine.spark-conf.spark.eventLog.enabled=true
331行 kylin.engine.spark-conf.spark.eventLog.dir=hdfs://mycluster:8020/apps/spark2/spark-history
332行 kylin.engine.spark-conf.spark.history.fs.logDirectory=hdfs://mycluster:8020/apps/spark2/spark-history
333行 kylin.engine.spark-conf.spark.hadoop.yarn.timeline-service.enabled=false
336行 kylin.engine.spark-conf-mergedict.spark.executor.memory=1G
337行 kylin.engine.spark-conf-mergedict.spark.memory.fraction=0.2
340行 kylin.engine.spark-conf.spark.yarn.archive=hdfs://mycluster:8020/apps/spark2/lib/spark-libs.jar
341行 kylin.engine.spark-conf.spark.io.compression.codec=org.apache.spark.io.SnappyCompressionCodec

4)啓動
(1)啓動 Kylin 之前,需先啓動 Hadoop(hdfs,yarn,jobhistoryserver)、Zookeeper、Hbase
(2)因爲我們需要使用Kylin對接Hive,所以需要把Hive的元數據服務啓動,./bin/hive --service metastore &
(3)啓動 Kylin ./bin/kylin.sh start
(4)在 http://主機名:7070/kylin 查看 Web 頁面,用戶名爲:ADMIN,密碼爲:KYLIN (必須大寫)

5)關閉
./bin/kylin.sh stop

三、Kylin 簡單使用

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述


結束語


都看到這裏了,點贊評論一下吧!!!

點擊查看👇

敬請期待!

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