一、安裝准備
1、操作系統 Centos 7.x
2、時間問題
集群內所有節點時間一定要同步。
NTP、Chrony
3、用戶
創建hadoop組和hadoop用戶,並做ssh免密碼登錄
4、Hadoop HA集群
Hadoop 2.7.3
5、HBase
hbase 1.x
6、Hive
Hive 1.2.1,使用 mysql 存放元數據
7、准備目錄
# mkdir /install # cd /install # chown -R hadoop:hadoop /install
8、kylin
kylin 1.6.0 這個版本支持hbase1.x版本 apache-kylin-1.6.0-HBase1.1.3-bin.tar.gz $ tar xf apache-kylin-1.6.0-hbase1.x-bin.tar.gz -C /install $ cd /install $ mv apache-kylin-1.6.0-bin/ kylin
#代表在root用戶下
$代表普通用戶
二、環境變量配置
部署每個節點 hadoop用戶的 .bashrc export HADOOPROOT=/install export HADOOP_HOME=$HADOOPROOT/hadoop export ZOOKEEPER_HOME=$HADOOPROOT/zookeeper export HBASE_HOME=$HADOOPROOT/hbase export HIVE_HOME=$HADOOPROOT/hive1.2 export HCAT_HOME=$HIVE_HOME/hcatalog export KYLIN_HOME=$HADOOPROOT/kylin export CATALINA_HOME=$KYLIN_HOME/tomcat export hive_dependency=$HIVE_HOME/conf:$HIVE_HOME/lib/*:$HCAT_HOME/share/hcatalog/hive-hcatalog-core-1.2.1.jar PATH=$PATH:$HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin PATH=$PATH:$HBASE_HOME/bin:$FLUME_HOME/bin:$HIVE_HOME/bin:$HCAT_HOME/bin PATH=$PATH:$CATALINA_HOME/bin:$KYLIN_HOME/bin export PATH
基本的配置已經做好了,安裝從以下步驟開始
三、配置kylin
修改bin/kylin.sh export KYLIN_HOME=/install/kylin export HBASE_CLASSPATH_PREFIX=${tomcat_root}/bin/bootstrap.jar:${tomcat_root}/bin/tomcat-juli.jar:${tomcat_root}/lib/*:$hive_dependency:$HBASE_CLASSPATH_PREFIX
壓縮問題
關於壓縮的問題
本次不是用snappy,如果需要事先重新編譯Hadoop源碼,使得native庫支持snappy
使用snappy能夠實現一個適合的壓縮比,使得這個運算的中間結果和最終結果都能占用較小的存儲空間
1、 kylin.properties
1)設置Rest Server kylin.rest.servers=192.168.56.201:7070 默認為PST,修改為中國時間 kylin.rest.timezone=GMT+8
2)不啟用壓縮,注釋即可
#kylin.hbase.default.compression.codec=snappy(注釋掉或者設置為None)
3)定義kylin用於MR jobs的job.jar包和hbase的協處理jar包,用於提升性能(添加項)。
kylin.job.jar=/installsoftware/ kylin-1.6.0/lib /kylin-job-1.6.0.jar kylin.coprocessor.local.jar=/installsoftware/ kylin-1.6.0/lib/kylin-coprocessor-1.6.0.jar
2、kylin_job_conf.xml
不使用壓縮
mapreduce.map.output.compress設置為false
mapreduce.output.fileoutputformat.compress 設置為false
3、kylin_hive_conf.xml
不使用壓縮
hive.exec.compress.output 設置為false
四、啟動服務
Kylin工作原理圖
支撐服務啟動
1、首先看一下時間是否同步
2、啟動3個節點的ZooKeeper zkServer.sh start start-dfs.sh start-yarn.sh 或者start-all.sh mr-jobhistory-daemon.sh start historyserver要到所有NM上啟動,可以寫成腳本 start-hbase.sh
> list
這里可以啟動hive客戶端看看
$ hive
> show tables;
檢查
1、檢查基礎的服務
Hadoop、HBase、Hive、環境變量、工作目錄
2、hive依賴檢查
find-hive-dependency.sh
3、hbase依賴檢查
find-hbase-dependency.sh 啟動kylin bin/kylin.sh start 停止過程 bin/kylin.sh stop stop-hbase.sh mr-jobhistory-daemon.sh stop historyserver stop-yarn.sh stop-dfs.sh zkServer.sh stop 可以寫成腳本
五、登錄
http://node1:7070/kylin
ADMIN/KYLIN登錄
六、樣例數據測試
啟動kylin后,運行bin/sample.sh
查看sample.sh腳本內容
實際上操作的是sample_cube目錄下的數據和腳本
重啟kylin服務
看看hive和hbase
Hive中kylin的元數據信息
默認有一個Cube定義,需要Build。
Monitor中監視整個構建過程
Cube構建成功后狀態會變成Ready狀態
構建Cube過程根據集群性能的不同而不同
七、查詢時間對比
測試語句 select part_dt, sum(price) as total_selled, count(distinct seller_id) as sellers from kylin_sales group by part_dt order by part_dt; select part_dt, sum(price) as total_selled, count(distinct seller_id) as sellers from kylin_sales where part_dt<'2013-01-01' group by part_dt order by part_dt; hive執行時間 Time taken: 168.643 seconds, Fetched: 365 row(s) kylin中 第一次 1.33S 第二次 0.38s 第三次 0.33s 第四次 0.34s 看來有緩存 select part_dt, sum(price) as total_selled, count(distinct seller_id) as sellers from kylin_sales group by part_dt having sum(price)>1200 order by part_dt
到此Kylin的前期安裝部署已經完畢