Kylin 安裝和使用

版本兼容性

Kylin Hadoop Hive HBase Spark Kafka Java HDP CDH
2.3 2.7+ 0.13 - 1.2.1+ 1.1+ 2.1.1+ 1.7+ 2.2 - 2.6 5.7 - 5.11
2.4 2.7+ 0.13 - 1.2.1+ 1.1+ 2.1.1+ 0.10.0+ 1.7+ 2.2 - 2.6 5.7 - 5.11
2.5, 2.6 2.7+, 3.1+ 0.13 - 1.2.1+ 1.1+, 2.0 2.3.0+ 1.0.0+ 1.8+ 2.2 - 2.6, 3.0 5.7 - 5.11, 6.0

Hadoop 環(huán)境

Kylin 依賴于 Hadoop 集群處理大量的數(shù)據(jù)集约郁。需要準備一個配置好 HDFS缩挑,YARN,MapReduce鬓梅,Hive,HBase谨湘,Zookeeper 和其他服務的 Hadoop 集群供 Kylin 運行绽快。

Kylin 可以在 Hadoop 集群的任意節(jié)點上啟動。方便起見紧阔,可以在 master 節(jié)點上運行 Kylin坊罢。為了更好的穩(wěn)定性,建議將 Kylin 部署在一個干凈的 Hadoop client 節(jié)點上擅耽,該節(jié)點上 Hive活孩,HBase,HDFS 等命令行已安裝好且 client 配置(如 core-site.xml乖仇,hive-site.xml憾儒,hbase-site.xml 及其他)也已經合理的配置且其可以自動和其它節(jié)點同步。

運行 Kylin 的 Linux 用戶要有訪問 Hadoop 集群的權限乃沙,包括創(chuàng)建/寫入 HDFS 文件夾起趾,Hive 表,HBase 表和提交 MapReduce 任務的權限警儒。

單機安裝

  1. 下載安裝包
> wget https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.6.3/apache-kylin-2.6.3-bin-hbase1x.tar.gz
  1. 解壓安裝包训裆,配置環(huán)境變量 $KYLIN_HOME 指向 Kylin 文件夾。
> tar -zxvf apache-kylin-2.6.3-bin-hbase1x.tar.gz
> mv apache-kylin-2.6.3-bin-hbase1x apache-kylin-2.6.3
> cd apache-kylin-2.6.3
> export KYLIN_HOME=`pwd`
> export PATH=$PATH:$KYLIN_HOME/bin

Kylin 目錄結構

從 v2.6.1 開始, Kylin 不再包含 Spark 二進制包铝量。需要另外下載 Spark秃症,然后設置 SPARK_HOME 系統(tǒng)變量。

bin             shell 腳本变姨,用于啟動/停止 Kylin诸老,備份/恢復 Kylin 元數(shù)據(jù),以及一些檢查端口钳恕、獲取 Hive/HBase 依賴的方法等
conf            Hadoop 任務的 XML 配置文件别伏,這些文件的作用可參考配置頁面
lib             供外面應用使用的 jar 文件,例如 Hadoop 任務 jar, JDBC 驅動, HBase coprocessor 等
meta_backups    執(zhí)行 bin/metastore.sh backup 后的默認的備份目錄
sample_cube     用于創(chuàng)建樣例 Cube 和表的文件
spark           自帶的 spark
tomcat          自帶的 tomcat忧额,用于啟動 Kylin 服務
tool            用于執(zhí)行一些命令行的 jar 文件

  1. 檢查運行環(huán)境

Kylin 運行在 Hadoop 集群上厘肮,對各個組件的版本、訪問權限及 CLASSPATH 等都有一定的要求睦番,為了避免遇到各種環(huán)境問題类茂,可以運行 $KYLIN_HOME/bin/check-env.sh 腳本來進行環(huán)境檢測,如果環(huán)境存在任何的問題托嚣,腳本將打印出詳細報錯信息巩检。如果沒有報錯信息,代表環(huán)境適合 Kylin 運行示启。

  1. 啟動 Kylin
> $KYLIN_HOME/bin/kylin.sh start
Retrieving hadoop conf dir...
KYLIN_HOME is set to .../apache-kylin-2.6.3
......
A new Kylin instance is started by root. To stop it, run 'kylin.sh stop'
Check the log at $KYLIN_HOME/logs/kylin.log
Web UI is at http://<hostname>:7070/kylin
  1. 使用 Kylin

Kylin 啟動后可以通過瀏覽器 [http://<hostname>:7070/kylin] 進行訪問兢哭。

其中 <hostname> 為具體的機器名、IP 地址或域名夫嗓,默認端口為 7070迟螺。

初始用戶名和密碼是 ADMIN/KYLIN

服務器啟動后舍咖,可以通過查看 $KYLIN_HOME/logs/kylin.log 獲得運行時日志矩父。

  1. 停止 Kylin
> $KYLIN_HOME/bin/kylin.sh stop
Retrieving hadoop conf dir...
KYLIN_HOME is set to .../apache-kylin-2.6.3
Stopping Kylin: 25964
Stopping in progress. Will check after 2 secs again...
Kylin with pid 25964 has been stopped.

可以運行 ps -ef | grep kylin 來查看 Kylin 進程是否已停止。


HDFS 目錄結構

Kylin 會在 HDFS 上生成文件排霉,根目錄是 /kylin/ 然后會使用 Kylin 集群的元數(shù)據(jù)表名作為第二層目錄名窍株,默認為 kylin_metadata (可以在 conf/kylin.properties 中定制)

通常 /kylin/kylin_metadata 目錄下會有這么幾種子目錄:

  1. cardinality -- Kylin 加載 Hive 表時,會啟動一個 MR 任務來計算各個列的基數(shù)攻柠,輸出結果會暫存在此目錄球订。可以安全清除辙诞。
  2. coprocessor -- Kylin 用于存放 HBase coprocessor jar 的目錄辙售;請勿刪除。
  3. kylin-job_id -- Cube 計算過程的數(shù)據(jù)存儲目錄飞涂,請勿刪除旦部。如需要清理祈搜,請遵循 storage cleanup guide
  4. resources -- Kylin 默認會將元數(shù)據(jù)存放在 HBase,但對于太大的文件(如字典或快照)士八,會轉存到 HDFS 的該目錄下容燕,請勿刪除。如需要清理婚度,請遵循 cleanup resources from metadata
  5. jdbc-resources -- 性質同上蘸秘,只在使用 MySQL 做元數(shù)據(jù)存儲時候出現(xiàn)。

集群安裝

Kylin 實例是無狀態(tài)的服務蝗茁,運行時的狀態(tài)信息存儲在 HBase metastore 中醋虏。 出于負載均衡的考慮,可以啟用多個共享一個 metastore 的 Kylin 實例哮翘,使得各個節(jié)點分擔查詢壓力且互為備份颈嚼,從而提高服務的可用性。

image

集群模式設置

如果需要將多個 Kylin 節(jié)點組成集群饭寺,請確保他們使用同一個 Hadoop 集群阻课、HBase 集群。然后在每個節(jié)點的配置文件 $KYLIN_HOME/conf/kylin.properties 中執(zhí)行下述操作:

  • 配置相同的 kylin.metadata.url 值艰匙,即配置所有的 Kylin 節(jié)點使用同一個 HBase metastore限煞。
  • 配置 Kylin 節(jié)點列表 kylin.server.cluster-servers,包括所有節(jié)點(包括當前節(jié)點)员凝,當事件變化時署驻,接收變化的節(jié)點需要通知其他所有節(jié)點(包括當前節(jié)點)。
  • 配置 Kylin 節(jié)點的運行模式 kylin.server.mode绊序,參數(shù)值可選 all, job, query 中的一個硕舆,默認值為 all
    • job 模式代表該服務僅用于任務調度骤公,不用于查詢;
    • query 模式代表該服務僅用于查詢扬跋,不用于構建任務的調度阶捆;
    • all 模式代表該服務同時用于任務調度和 SQL 查詢。
    • 注意:默認情況下只有一個實例用于構建任務的調度(即 kylin.server.mode 設置為 all 或者 job 模式)钦听。

任務引擎高可用

從 v2.0 開始, Kylin 支持多個任務引擎一起運行洒试,相比于默認單任務引擎的配置,多引擎可以保證任務構建的高可用朴上。

使用多任務引擎垒棋,可以在多個 Kylin 節(jié)點上配置它的角色為 joball。為了避免它們之間產生競爭痪宰,需要啟用分布式任務鎖叼架,請在 kylin.properties 里配置:

kylin.job.scheduler.default=2
kylin.job.lock=org.apache.kylin.storage.hbase.util.ZookeeperJobLock

將所有任務和查詢節(jié)點的地址注冊到 kylin.server.cluster-servers畔裕。

安裝負載均衡器

為了將查詢請求發(fā)送給集群而非單個節(jié)點,可以部署一個負載均衡器乖订,如 Nginx扮饶, F5 或 cloudlb 等,使得客戶端和負載均衡器通信代替和特定的 Kylin 實例通信乍构。

讀寫分離部署

為了達到更好的穩(wěn)定性和最佳的性能甜无,建議進行讀寫分離部署,將 Kylin 部署在兩個集群上:

  • 一個 Hadoop 集群用作 Cube 構建哥遮,這個集群可以是一個大的岂丘、與其它應用共享的集群;
  • 一個 HBase 集群用作 SQL 查詢眠饮,通常這個集群是專門為 Kylin 配置的奥帘,節(jié)點數(shù)不用像 Hadoop 集群那么多,HBase 的配置可以針對 Kylin Cube 只讀的特性而進行優(yōu)化君仆。

這種部署策略是適合生產環(huán)境的最佳部署方案翩概,關于如何進行讀寫分離部署,請參考 Deploy Apache Kylin with Standalone HBase Cluster

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末返咱,一起剝皮案震驚了整個濱河市钥庇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咖摹,老刑警劉巖评姨,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異萤晴,居然都是意外死亡吐句,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門店读,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嗦枢,“玉大人,你說我怎么就攤上這事屯断∥穆玻” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵殖演,是天一觀的道長氧秘。 經常有香客問我,道長趴久,這世上最難降的妖魔是什么丸相? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮彼棍,結果婚禮上灭忠,老公的妹妹穿的比我還像新娘膳算。我一直安慰自己,他們只是感情好更舞,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布畦幢。 她就那樣靜靜地躺著,像睡著了一般缆蝉。 火紅的嫁衣襯著肌膚如雪宇葱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天刊头,我揣著相機與錄音黍瞧,去河邊找鬼。 笑死原杂,一個胖子當著我的面吹牛印颤,可吹牛的內容都是我干的。 我是一名探鬼主播穿肄,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼年局,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了咸产?” 一聲冷哼從身側響起矢否,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎脑溢,沒想到半個月后僵朗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡屑彻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年验庙,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片社牲。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡粪薛,死狀恐怖,靈堂內的尸體忽然破棺而出搏恤,到底是詐尸還是另有隱情汗菜,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布挑社,位于F島的核電站,受9級特大地震影響巡揍,放射性物質發(fā)生泄漏痛阻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一腮敌、第九天 我趴在偏房一處隱蔽的房頂上張望阱当。 院中可真熱鬧俏扩,春花似錦、人聲如沸弊添。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽油坝。三九已至嫉戚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間澈圈,已是汗流浹背彬檀。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞬女,地道東北人窍帝。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像诽偷,于是被迫代替她去往敵國和親坤学。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內容