Kylin集羣部署和cube使用

Kylin集羣部署和cube使用

  1. 安裝集羣環境

節點node

Kylin節點模式mysql

Ipweb

內存sql

磁盤數據庫

Node1apache

Allbootstrap

192.167.71.11tomcat

2Gapp

80Goop

Node2

query

192.168.71.12

1.5G

80G

Node3

query

192.168.71.13

1.5G

80G

Kylin工做原理以下:

  1. 集羣時間同步

Ntp服務自行設置

  1. 安裝kylin以前所須要的環境

Hadoop-2.7.4

Hbase-1.4.0

Spark-2.2.0 可選

Zookeepr-3.3.6

Hive-2.1.1            使用mysql存放元數據,遠程模式安裝

Kylin-2.3.1

Hadoop環境,HBASE,zookeeper還有hive自行安裝,集羣環境變量以下:

##################HADOOP

export HADOOP_HOME=/home/zhouwang/hadoop-2.7.4

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_YARN_HOME=$HADOOP_HOME

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export CLASSPATH=.:$HADOOP_HOME/lib:$CLASSPATH

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djave.library.path=$HADOOP_HOME/lib"

 

###############ZOOKEEPER

export ZOOKEEPER_HOME=/home/zhouwang/zookeeper-3.3.6

export PATH=:$PATH:$ZOOKEEPER_HOME/bin

 

################HIVE

export HIVE_HOME=/home/zhouwang/apache-hive-2.1.1-bin

export HIVE_CONF_HOME=$HIVE_HOME/conf

export HCAT_HOME=$HIVE_HOME/hcatalog

export PATH=:$PATH:$HIVE_HOME/bin:$HCAT_HOME/bin

#######################SCALA

export SCALA_HOME=/home/zhouwang/scala-2.10.5

export PATH=:$PATH:$SCALA_HOME/bin

################################SPARK

export SPARK_HOME=/home/zhouwang/spark-2.2.0-bin-hadoop2.7

export PATH=:$PATH:$SPARK_HOME/bin

#################HBASE

export HBASE_HOME=/home/zhouwang/hbase-1.4.0

export PATH=$PATH:/home/zhouwang/hbase-1.4.0/bin

##############KYLIN

export KYLIN_HOME=/home/zhouwang/apache-kylin-2.3.1-bin

export KYLIN_CONF_HOME=/home/zhouwang/apache-kylin-2.3.1-bin/conf

export PATH=:$PATH:$KYLIN_HOME/bin:$CATALINE_HOME/bin

export tomcat_root=$KYLIN_HOME/tomcat

export hive_dependency=$HIVE_HOME/conf:$HIVE_HOME/lib/*:HCAT_HOME/share/hcatalog/hive-hcatalog-core-2.1.1.jar

 

  1. 安裝kylin

(1)第一步修改bin/kylin.sh,這麼作的目的是爲了加入$hive_dependency環境,解決後續的兩個問題,都是沒有hive依賴的緣由。

第一個問題是kylinweb界面load hive表會失敗,第二個問題是cube build的第二步會報org/apache/Hadoop/hive/conf/hiveConf的錯誤。

更改以下:

export HBASE_CLASSPATH_PREFIX=${tomcat_root}/bin/bootstrap.jar:${tomcat_root}/bin/tomcat-juli.jar:${tomcat_root}/lib/*:$hive_dependency:$HBASE_CLASSPATH_PREFIX

 

(2)第二步就是hadoop支持壓縮的問題,本例的hadoop不支持snappy壓縮,會致使後續cube build報錯。若是要hadoop支持的話,另行找解決方案

解決這個問題對應的要修改kylin的三個配置文件

Kylin_job_conf.xml

#不使用壓縮

mapreduce.map.output.compress設置爲false

mapreduce.output.fileoutputformat.compress 設置爲false

kylin_hive_conf.xml

#不使用壓縮

hive.exec.compress.output 設置爲false

kylin.properties

修改見下文

(3)第三步修改kylin.properties

主節點配置

kylin.metadata.url=kylin_metadata@hbase   ###hbase上存儲kylin元數據

kylin.env.hdfs-working-dir=/kylin      ###hdfs上kylin工做目錄

kylin.env=DEV

kylin.env.zookeeper-base-path=/kylin

kylin.server.mode=all      ###kylin主節點模式,從節點的模式爲query,只有這一點不同

kylin.rest.servers=node1:7070,node2:7070,node3:7070    ###集羣的信息同步

kylin.web.timezone=GMT+8    ####改成中國時間

kylin.job.retry=2

kylin.job.mapreduce.default.reduce.input.mb=500

kylin.job.concurrent.max.limit=10

kylin.job.yarn.app.rest.check.interval.seconds=10

kylin.job.hive.database.for.intermediatetable=kylin_flat_db     ###build cube 產生的Hive中間表存放的數據庫

kylin.hbase.default.compression.codec=none   ###不採用壓縮

kylin.job.cubing.inmem.sampling.percent=100

kylin.hbase.regin.cut=5

kylin.hbase.hfile.size.gb=2

###定義kylin用於MR jobs的job.jar包和hbase的協處理jar包,用於提高性能(添加項)

kylin.job.jar=/home/zhouwang/apache-kylin-2.3.1-bin/lib/kylin-job-2.3.1.jar

kylin.coprocessor.local.jar=/home/zhouwang/apache-kylin-2.3.1-bin/lib/kylin-coprocessor-2.3.1.jar

 

配置完以後將kylin安裝包傳送搭配從節點

  Scp -r apache-kylin-2.3.1-bin zhouwang@node2:~/apache-kylin-2.3.11-bin

Scp -r apache-kylin-2.3.1-bin zhouwang@node3:~/apache-kylin-2.3.11-bin

      主從節點的配置的惟一不一樣就是kylin.server.mode,一個集羣的全部節點必須只能有一個節點處於job或者all狀態,其餘節點所有爲query狀態。

  1. 啓動kylin

第一步,啓動zookeeper,全部幾點運行zkServer.sh start

第二步,啓動hadoop,主節點運行start-all.sh

第三步,啓動JobHistoryserver服務,主節點啓動mr-jobhistoryserver-deamon.sh start historyserver

第四步,啓動hivemetastore服務,hive –service metastore &

第五步啓動hbase集羣,主節點啓動start-hbase.sh

第六步,檢查基礎依賴的服務,hadoop,hbase,hive,環境變量,工做目錄等,hive依賴檢查find-hive-dependency.sh ,hbase依賴檢查find-hbase-dependency.sh,全部的依賴檢查可吃用chek-env.sh。

第六步,啓動kylin服務,全部節點運行bin/kylin.sh start

  1. 登陸

http://node1:7070/kylin

默認的祕鑰:admin/KYLIN

  1. 樣例數據測試

啓動kylin以後運行sample.sh腳本

導入sample數據,模型,cube成功以後系統會提示重啓kylin或者從新加載元數據讓數據生效。咱們選擇從新加載。

從新加載事後查看hive

查看hbase中的數據多了一個kylin_metadata元數據表

默認的有一個cube須要build

Build成功以後

Build成功以後model裏面會出現storage信息,以前是沒有的,能夠到hbase裏面去找對應的表,同時cube狀態變爲ready,表示可查詢。

 

8.查詢性能對比(爲本地本身的數據建的cube,不是sample數據)

 

能夠看出明細kylin要比hive快上不少倍,kylin集羣部署結束。

 

  1. Cube使用

Cube使用分爲五部:

第一步:新建工程

點擊加號跳出下面的界面,輸入工程名,提交便可。

第二步,添加數據源

三個按鈕功能各不相同,自行了解,點擊第一個輸入表名同步,點擊第二個加載出hive的元數據,點擊選擇表,同步。

第三步,新建model,自行設置各個步驟

第四部,新建cube,自行設置cube的每一步信息

第五步,cube的build

選擇build,提交cube job,mapreduce計算(計算引擎自選mapreduce或者spark)。結果存在hbase。結果表在model的storage裏面查看。

相關文章
相關標籤/搜索