Kylin快速入門系列(1) | Kylin的簡單介紹及安裝部署

  大家好,我是不溫卜火,是一名計算機學院大數據專業大二的學生,暱稱來源於成語—不溫不火,本意是希望自己性情溫和。作爲一名互聯網行業的小白,博主寫博客一方面是爲了記錄自己的學習過程,另一方面是總結自己所犯的錯誤希望能夠幫助到很多和自己一樣處於起步階段的萌新。但由於水平有限,博客中難免會有一些錯誤出現,有紕漏之處懇請各位大佬不吝賜教!暫時只有csdn這一個平臺,博客主頁:https://buwenbuhuo.blog.csdn.net/

  此篇爲大家帶來的是Kylin的簡單介紹及安裝部署。

安裝所需要的文件博主已經上傳到百度雲了,如有需要可自行下載
鏈接:https://pan.baidu.com/s/1ZAQ1Uns1H4Ph1NTXQU9ZiQ
提取碼:nunu


20

一. Kylin的簡單介紹

1. Kylin定義

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

2. Kylin架構

1

  • 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以及Map Reduce任務等等。任務引擎對Kylin當中的全部任務加以管理與協調,從而確保每一項任務都能得到切實執行並解決其間出現的故障。

3. Kylin特點

  Kylin的主要特點包括支持SQL接口、支持超大規模數據集、亞秒級響應、可伸縮性、高吞吐率、BI工具集成等。
  1.標準SQL接口:Kylin是以標準的SQL作爲對外服務的接口。
  2.支持超大數據集:Kylin對於大數據的支撐能力可能是目前所有技術中最爲領先的。早在2015年eBay的生產環境中就能支持百億記錄的秒級查詢,之後在移動的應用場景中又有了千億記錄秒級查詢的案例。
  3.亞秒級響應:Kylin擁有優異的查詢相應速度,這點得益於預計算,很多複雜的計算,比如連接、聚合,在離線的預計算過程中就已經完成,這大大降低了查詢時刻所需的計算量,提高了響應速度。
  可伸縮性和高吞吐率:單節點Kylin可實現每秒70個查詢,還可以搭建Kylin的集羣。
  4.BI工具集成
  Kylin可以與現有的BI工具集成,具體包括如下內容。
  ODBC:與Tableau、Excel、PowerBI等工具集成
  JDBC:與Saiku、BIRT等Java工具集成
  RestAPI:與JavaScript、Web網頁集成
  Kylin開發團隊還貢獻了Zepplin的插件,也可以使用Zepplin來訪問Kylin服務。

二. 安裝部署Kylin(下面的所有步驟所有虛擬機均需操作)

  • 1.將apache-kylin-2.5.1-bin-hbase1x.tar.gz上傳到Linux
    2
  • 2. 解壓apache-kylin-2.5.1-bin-hbase1x.tar.gz到/opt/module
[bigdata@hadoop002 kylin]$ tar -zxvf apache-kylin-2.5.1-bin-hbase1x.tar.gz -C /opt/module/

// 注意:需要在/etc/profile文件中配置HADOOP_HOME,HIVE_HOME,HBASE_HOME並source使其生效。
[bigdata@hadoop003 software]$ sudo vim /etc/profile
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin

#HBASE_HOME
export HBASE_HOME=/opt/module/hbase
export PATH=$PATH:$HBASE_HOME/bin

#HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin

export KYLIN_HOME=/opt/module/kylin
export PATH=$PATH:$KYLIN_HOME/bin

// 使剛纔的配置立即生效
[bigdata@hadoop002 kylin]$ source /etc/profile

  • 3. 修改文件名
[bigdata@hadoop002 module]$ mv apache-kylin-2.5.1-bin-hbase1x kylin
  • 4. 修改配置文件
[bigdata@hadoop002 conf]$ vim kylin.properties 

3

  • 5. 啓動Kylin
// 啓動Kylin前要保證HDFS,YARN,ZK,HBASE相關進程是正常運行的
[bigdata@hadoop002 kylin]$ start-dfs.sh 
[bigdata@hadoop003 software]$ start-yarn.sh 
[bigdata@hadoop002 zookeeper-3.4.10]$ bin/start-allzk.sh 
[bigdata@hadoop002 hbase]$ bin/start-hbase.sh 
[bigdata@hadoop002 kylin]$ mr-jobhistory-daemon.sh start historyserver

// 啓動Kylin
[bigdata@hadoop002 kylin]$ bin/kylin.sh start

// 結束Kylin
[bigdata@hadoop002 kylin]$ bin/kylin.sh stop

4

用戶名爲:ADMIN,密碼爲:KYLIN(系統已填)

5
6

三. 安裝時可能會遇見的坑

  • 1. 遇到錯誤

7
  文字錯誤:

2020-05-20 18:31:39,675 DEBUG [main] hbase.HBaseConnection:180 : Using the working dir FS for HBase: hdfs://hadoop002:9000
2020-05-20 18:31:39,735 INFO  [main] imps.CuratorFrameworkImpl:224 : Starting
2020-05-20 18:31:39,738 INFO  [main] zookeeper.ZooKeeper:438 : Initiating client connection, connectString=hadoop002:2181:2181,hadoop003:2181:2181,hadoop004:2181:2181 sessionTimeout=120000 watcher=org.apache.curator.ConnectionState@10c8f62
2020-05-20 18:31:39,770 ERROR [main] imps.CuratorFrameworkImpl:546 : Background exception was not retry-able or retry gave up
java.net.UnknownHostException: hadoop002:2181: 未知的名稱或服務
	at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)

  • 2. 解決方法
// 修改hbase-site.xml 然後重啓hbase和Kylin即可解決
<property>

             <name>hbase.zookeeper.property.clientPort</name>

             <value>2181</value>

</property>

<property>

            <name>hbase.zookeeper.quorum</name>

             <value>master,slave1,slave2,slave3</value>

</property>

  本次的分享就到這裏了,


11

  好書不厭讀百回,熟讀課思子自知。而我想要成爲全場最靚的仔,就必須堅持通過學習來獲取更多知識,用知識改變命運,用博客見證成長,用行動證明我在努力。
  如果我的博客對你有幫助、如果你喜歡我的博客內容,請“點贊” “評論”“收藏”一鍵三連哦!聽說點讚的人運氣不會太差,每一天都會元氣滿滿呦!如果實在要白嫖的話,那祝你開心每一天,歡迎常來我博客看看。
  碼字不易,大家的支持就是我堅持下去的動力。點贊後不要忘了關注我哦!

13
12

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