寫在前面: 博主是一名軟件工程系大數據應用開發專業大二的學生,暱稱來源於《愛麗絲夢遊仙境》中的Alice和自己的暱稱。作爲一名互聯網小白,
寫博客一方面是爲了記錄自己的學習歷程,一方面是希望能夠幫助到很多和自己一樣處於起步階段的萌新
。由於水平有限,博客中難免會有一些錯誤,有紕漏之處懇請各位大佬不吝賜教!個人小站:http://alices.ibilibili.xyz/ , 博客主頁:https://alice.blog.csdn.net/
儘管當前水平可能不及各位大佬,但我還是希望自己能夠做得更好,因爲一天的生活就是一生的縮影
。我希望在最美的年華,做最好的自己
!
說到Apache頂級開源項目,大家首先會想到什麼???
不熟悉Apache軟件基金會的朋友也不用擔心,大家可以去Apache官網,下拉到最下邊的頁面,查看Apache有哪些開源項目。
相信各位朋友在項目清單中肯定會看到不少熟悉的身影,JavaEE
,HTTP
,FTP
,Hadoop
,SQL
,Maven
,Tomcat
,Kafka
,Hive
…這些幾乎我們天天都在打交道的朋友
,竟然都是Apache頂級項目的一員。
也許你會有些遺憾,這些頂級項目都是由外國友人所貢獻的。但認真看了本篇博客標題的朋友都應該清楚,接下來,我要爲大家介紹的是正如題目所述,第一個由國人開發的Apache頂級項目——Kylin
文章目錄
Kylin簡介
Kylin的誕生背景
-
Kylin是中國團隊研發的,是第一個真正由中國人自己主導、從零開始、自主研發、併成爲Apache頂級開源項目
-
Hive的性能比較慢,支持SQL靈活查詢,特別慢
-
HBase的性能快,原生不支持SQL(phoenix:可以寫sql語句來查詢hbase!!
) -
Kylin是將先將數據進行預處理,將預處理的結果放在HBase中,效率很高!
Kylin的應用場景
Kylin 典型的應用場景如下:
- 用戶數據存在於Hadoop HDFS中,利用Hive將HDFS文件數據以關係數據方式存取,數據量巨大,在500G以上
- 每天有數G甚至數十G的數據增量導入
- 有10個以內較爲固定的分析維度
Kylin 的核心思想是利用空間換時間,在數據 ETL 導入 OLAP 引擎時提前計算各維度的聚合結果並持久化保存
聯機事務處理OLTP、聯機分析處理OLAP。
OLTP是傳統的關係型數據庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。OLAP是數據倉庫系統的主要應用,支持複雜的分析操作,側重決策支持,並且提供直觀易懂的查詢結果。
OLAP聯機分析處理的用戶是企業中的專業分析人員及管理決策人員,他們在分析業務經營的數據時,從不同的角度來審視業務的衡量指標是一種很自然的思考模式。例如分析銷售數據,可能會綜合時間週期、產品類別、分銷渠道、地理分佈、客戶羣類等多種因素來考量。
使用Kylin的公司
既然都看到這麼多大公司選擇了Kylin,讓我們接下來看看爲什麼要使用Kylin?
爲什麼要使用Kylin
Kylin 是一個 Hadoop 生態圈下的 MOLAP 系統,是 ebay 大數據部門從2014 年開始研發的支持 TB 到 PB 級別數據量的分佈式 Olap 分析引擎。其特點包括:
-
可擴展的超快的 OLAP 引擎
-
提供 ANSI-SQL 接口
-
交互式查詢能力
-
MOLAP Cube 的概念
-
與 BI 工具可無縫整合
Kylin的總體架構
Kylin 依賴於 Hadoop、Hive、Zookeeper 和 Hbase
Kylin安裝
依賴環境
從上面的架構中我們就可以看出,Kylin對於環境的依賴比較高
軟件 | 版本 |
---|---|
Apache hbase-1.1.1-bin.tar.gz | 1.1.1 |
spark-2.2.0-bin-2.6.0-cdh5.14.0.tgz | 2.2.0-bin-cdh5.14.0 |
apache-kylin-2.6.3-bin-hbase1x.tar.gz | 2.6.3 |
集羣規劃
注意:
- kylin-2.6.3-bin-hbase1x所依賴的hbase爲1.1.1版本
- 要求hbase的hbase.zookeeper.quorum值必須只能是host1,host2,…。不允許出現帶端口號的情況,例如:host1:2181,…
安裝HBase1.1.1
因爲我們之前用的hbase版本是hbase-1.2.0-cdh5.14的版本,所以在安裝kylin之前,我們需要下安裝hbase 1.1.1
版本
<1>下載hbase 1.1.1版本
這裏我已經下載好了,需要的朋友可以後臺私信我
<2>上傳到一臺服務器,解壓縮
tar -xvzf hbase-1.1.1-bin.tar.gz -C ../servers/
<3>修改hbase-env.sh
添加JAVA_HOME環境變量
export JAVA_HOME=/export/servers/jdk1.8.0_141/
export HBASE_MANAGES_ZK=false
<4>修改hbase-site.xml,添加以下配置
注意:
- 修改HDFS NameNode節點名稱
- 修改zookeeper服務器名稱
- 修改zookeeper數據目錄位置
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:8020/hbase_1.1.1</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 0.98後的新變動,之前版本沒有.port,默認端口爲60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2,node3</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/export/servers/zookeeper-3.4.9/zkdatas</value>
</property>
<property>
<name>hbase.thrift.support.proxyuser</name>
<value>true</value>
</property>
<property>
<name>hbase.regionserver.thrift.http</name>
<value>true</value>
</property>
</configuration>
<5>修改regionservers,添加其他的節點
node1
<6>在hbase conf目錄中創建core-site.xml和hdfs-site.xml軟連接
ln -s /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/core-site.xml $PWD/core-site.xml
ln -s /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/hdfs-site.xml $PWD/hdfs-site.xml
<7>配置HBase環境變量
# Apache HBase 1.1.1
export HBASE_HOME=/export/servers/hbase-1.1.1
export PATH=$HADOOP/sbin:$HADOOP/bin:$HBASE_HOME/bin:$PATH
刷新環境變量
source /etc/profile
<8>使用 zkCli 刪除之前的 hbase 節點
# 進入到 zkCli中
/export/servers/zookeeper-3.4.9/bin/zkCli.sh
# 執行刪除
rmr /hbase
啓動
- 啓動ZooKeeper
- 啓動HDFS
- 啓動HBase
bin/start-hbase.sh
- 進入hbase shell
執行上述操作,執行list命令,如果能顯示以下內容,表示安裝成功。
hbase(main):002:0> list
TABLE
0 row(s) in 0.1380 seconds
=> []
ok,安裝完了Hbase1.1.1,接着我們開始安裝kylin
安裝kylin-2.6.3-bin-hbase1x
<1>解壓
tar -zxf /export/softwares/apache-kylin-2.6.3-bin-hbase1x.tar.gz -C /export/servers/
<2>增加kylin依賴組件的配置
/export/servers/apache-kylin-2.6.3-bin-hbase1x/conf
ln -s $HADOOP_HOME/etc/hadoop/hdfs-site.xml hdfs-site.xml
ln -s $HADOOP_HOME/etc/hadoop/core-site.xml core-site.xml
ln -s $HBASE_HOME/conf/hbase-site.xml hbase-site.xml
ln -s $HIVE_HOME/conf/hive-site.xml hive-site.xml
ln -s $SPARK_HOME/conf/spark-defaults.conf spark-defaults.conf
<3>配置kylin.sh
/export/servers/apache-kylin-2.6.3-bin-hbase1x/bin
vim kylin.sh
kylin.sh文件添加如下內容:
export HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
export HIVE_HOME=/export/servers/hive-1.1.0-cdh5.14.0
export HBASE_HOME=/export/servers/hbase-1.1.1
export SPARK_HOME=/export/servers/spark-2.2.0-bin-2.6.0-cdh5.14.0
<4>配置conf/kylin.properties
將安裝kylin的節點的名稱換上,例如node01,總共是3處需要修改。
<5>初始化kylin在hdfs上的數據路徑
hadoop fs -mkdir -p /apps/kylin
<6>啓動集羣
1、啓動zookeeper
2、啓動HDFS
3、啓動YARN集羣
4、啓動HBase集羣
5、啓動 metastore
nohup hive --service metastore &
6、啓動 hiverserver2
nohup hive --service hiveserver2 &
7、啓動Yarn history server
mr-jobhistory-daemon.sh start historyserver
8、啓動spark history server【可選】
sbin/start-history-server.sh
9、啓動kylin
./kylin.sh start
看到下面的效果圖,說明我們的kylin已經啓動成功了
10、登錄Kylin
到這裏,我們可以通過路徑http://node01:7070/kylin
對我們的kylin的WEB界面進行訪問
默認的用戶名是ADMIN
,密碼是KYLIN
,注意都是大寫
然後就可以看到類似下面的界面效果圖~~
小結
Kylin的簡介以及安裝部署的過程的內容到這裏就結束了。大家需要在對kylin有所瞭解的基礎上,搭建好kylin所需要的環境。
如果以上過程中出現了任何的紕漏錯誤,煩請大佬們指正😅
受益的朋友或對大數據技術感興趣的夥伴記得點贊關注支持一波🙏