概述:apache kylin™是乙個開源的分布式分析引擎,提供hadoop/spark之上的sql查詢介面及多維分析(olap)能力以支援超大規模資料,最初由ebay inc. 開發並貢獻至開源社群。它能在亞秒內查詢巨大的hive表。
kylin是什麼?
1.可擴充套件超快olap引擎:
kylin是為減少在hadoop/spark上百億規模資料查詢延遲而設計
2.hadoop ansi sql 介面:
kylin為hadoop提供標準sql支援大部分查詢功能
3.互動式查詢能力:
通過kylin,使用者可以與hadoop資料進行亞秒級互動,在同樣的資料集上提供比hive更好的效能
4.多維立方體(molap cube):
使用者能夠在kylin裡為百億以上資料集定義資料模型並構建立方體
5.與bi工具無縫整合:
kylin提供與bi工具的整合能力,如tableau,powerbi/excel,mstr,qliksense,hue和superset
kylin的核心思想是什麼?
kylin的核心思想是以空間換時間。核心技術是預計算。
許可權控制
類似於apache sentry 對每張表進行分組,對每個申請的賬號分配到具體組
其他特性:
job管理與監控
壓縮與編碼
增量更新
利用hbase coprocessor
基於hyperloglog的dinstinc count近似演算法
友好的web介面以管理,監控和使用立方體
專案及表級別的訪問控制安全
支援ldap、sso
kylin資料來源:jdbc資料來源,hive,kafka等
kylin 核心:
kylin olap引擎基礎框架,包括元資料(metadata)引擎,查詢引擎,job引擎及儲存引擎等,同時包括rest伺服器以響應客戶端請求
擴充套件:支援額外功能和特性的外掛程式
整合:與排程系統,etl,監控等生命週期管理系統的整合
使用者介面:
在kylin核心之上擴充套件的第三方使用者介面
驅動:odbc 和 jdbc 驅動以支援不同的工具和產品,比如tableau
################安裝###############
官網最新版本環境要求
hadoop: 2.7+
hive: 0.13 - 1.2.1+
hbase: 1.1+
spark 2.1.1+
jdk: 1.7+
os: linux only, centos 6.5+ or ubuntu 16.0.4+
執行kylin的伺服器的最低的配置為4 core cpu, 16gb memory和100gb disk。對於高負載的場景,建議使用24 core cpu, 64gb memory 或更高的配置。
##vim conf/kylin.properties
新增或更改如下
kylin.server.cluster-servers=192.168.13.55:7070
kylin.job.jar=$kylin_home/lib/kylin-job-2.3.2.jar
kylin.coprocessor.local.jar=$kylin_home/lib/kylin-coprocessor-2.3.2.jar
3.使用指令碼檢查環境,確認hadoop,hive,hbases shell等許可權
$kylin_home/bin/check-env.sh
4.執行 $kylin_home/bin/kylin.sh start 指令碼來啟動 kylin,伺服器啟動後,您可以通過檢視 $kylin_home/logs/kylin.log 獲得執行時日誌。
5.檢視web介面
開啟 $kylin_home/bin/kylin.sh start
關閉 $kylin_home/bin/kylin.sh stop
http://hostname:7070/kylin(修改預設埠需要修改kylin自帶的tomcat埠,conf/server.xml)
admin/kylin
###集群模式
kylin 例項是無狀態的。其執行時狀態存於儲存在 hbase (由 conf/kylin.properties 中的 kylin.metadata.url 指定) 中的 metadata 中。出於負載均衡的考慮,建議執行多個共享乙個 metadata 儲存的 kylin 例項,因此他們在表結構中共享同乙個狀態,job 狀態, cube 狀態, 等等。
每乙個 kylin 例項在 conf/kylin.properties 中都有乙個 「kylin.server.mode」 entry,指定了執行時的模式,有 3 個選項:
job : 在例項中執行 job engine; kylin job engine 管理集群 的 jobs;
query : 只執行 query engine; kylin query engine 接收和回應你的 sql 查詢;
all : 在例項中既執行 job engine 也執行 query engines。
注意只有乙個例項可以執行 job engine (「all」 或 「job」 模式), 其他必須是 「query」 模式。
配置多個 kylin 伺服器
當在擁有多個 kylin 伺服器例項的集群執行 kylin 時, 請確保您為每乙個例項在 conf/kylin.properties 中正確的配置了以下屬性。
kylin.rest.servers
使用中的伺服器列表, 當事件變化時,讓乙個例項去通知其他伺服器。例如:
kylin.rest.servers=host1:7070,host2:7070
kylin.server.mode
確保只有乙個例項的 kylin.server.mode 設定為 「all」 或 「job」, 其餘的應該為 「query」
kylin.server.mode=all
#########支援郵件通知
kylin 可以在 job 完成/失敗的時候傳送郵件通知;編輯 conf/kylin.properties,設定如下引數使其生效:
mail.enabled=true
mail.host=your-smtp-server
mail.username=your-smtp-account
mail.password=your-smtp-pwd
mail.sender=your-sender-address
kylin.job.admin.dls=adminstrator-address
重啟 kylin 伺服器使其生效。設定 mail.enabled 為 false 令其失效。
所有的 jobs 管理員都會收到通知。建模者和分析師需要將郵箱填寫在 cube 建立的第一頁的 「notification list」 中,然後即可收到關於該 cube 的通知。
新增jdbc資料來源(2.3x以後才能配置,並且在2.4x後才能相容不同種資料來源)
#kylin.source.default=8
#kylin.source.jdbc.connection-url=jdbc:mysql:
#kylin.source.jdbc.driver=com.mysql.jdbc.driver
#kylin.source.jdbc.dialect=mysql
#kylin.source.jdbc.user=root
#kylin.source.jdbc.pass=hb_123456
#kylin.source.jdbc.sqoop-home=/opt/cloudera/parcels/cdh-5.11.1-1.cdh5.11.1.p0.4/lib/sqoop/bin
#kylin.source.jdbc.filed-delimiter=|
測試機示例:select account_country,sum(account_buyer_level) as buyer,count(account_seller_level) as a from kylin_account group by account_country
Kylin簡單安裝
2 設定環境變數 export kylin home usr local kylin path path kylin home export kylin conf usr local kylin conf path path kylin conf 3 啟動kylin。cd usr local kyl...
kylin套 kylin 系列(一)安裝部署
kylin 系列 一 安裝部署 一 環境說明 1.1 版本選擇 軟體名稱 版本jdk 1.8hadoop hadoop2.6.0 cdh5.10 zookeerer 3.4.5 hbase hbase1.2.0 cdh5.10 hive hive1.2.0 cdh5.10 kafka kafka0....
Kylin 操作使用(六)
執行 sample.sh 指令碼 root node 01 bin sample.sh 成功後會有如下提示 sample cube is created successfully in project learn kylin restart kylin server or click web ui ...