社區(qū)提供的讀寫分離架構(gòu)圖如下:
通過(guò)架構(gòu)圖可以看到Kylin會(huì)訪問(wèn)兩個(gè)集群的HDFS,建議兩個(gè)集群的NameService務(wù)必不能相同,尤其是集群?jiǎn)⒂肗ameNode HA時(shí),相同的NameService會(huì)導(dǎo)致組件在跨集群訪問(wèn)HDFS時(shí)因無(wú)法區(qū)分NameService而出現(xiàn)問(wèn)題。
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、衡水網(wǎng)絡(luò)推廣、小程序制作、衡水網(wǎng)絡(luò)營(yíng)銷、衡水企業(yè)策劃、衡水品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供衡水建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
兩個(gè)集群:
cluster1(hive集群):hdfs.hive,yarn,zookeeper,mr
cluster2(hbase集群):hdfs,hbase,zookeeper,yarn,kylin
首先配一個(gè)KYLIN_HOME,配到KYLIN的主目錄
我們的kylin安裝在cluster2上,只要在cluster2上面配置環(huán)境變量就可以了。
在cluster2上要配置很多cluster1的hadoo參數(shù)
我單獨(dú)創(chuàng)建一個(gè)目錄放在$KYLIN_HOME下,叫hadoop_conf,里面需要有這些文件
下面解釋一下哪些用cluster1的參數(shù),哪些文件用cluster2的參數(shù).。如果用cluster1的參數(shù),直接從cluster1拷貝過(guò)來(lái)就行了。
這些文件都在$KYLIN/HOME/hadoop_conf這個(gè)目錄下
core-site.xml----cluster1 這個(gè)里面配置了hdfs的地址
hbase-site.xml---cluster2
hdfs-site.xml----cluster2 這個(gè)里面配置了nameservice的參數(shù),沒有它無(wú)法解析nameservice
hive--site.xml---cluster1
mapred-site.xml--cluster1
我們用kylin用戶去啟動(dòng)及服務(wù),所以配置一下kylin用戶環(huán)境變量,修改 ~/.bashrc 這個(gè)文件
添加上這些
export HBASE_CONF_DIR=$KYLIN/HOME_hadoop_conf
export HIVE_CONF=$KYLIN/HOME_hadoop_conf
export HADOOP_CONF_DIR=$KYLIN_HOME/hadoop_conf
!!!!!!!!!!!!!!
export HBASE_CONF_DIR=$KYLIN_HOMEhadoop_conf
這個(gè)HBASE_CONF_DIR很重要,因?yàn)閗ylin是用過(guò)HBASE去讀取hdfs--site和core-site.xml這兩個(gè)文件從而讀取HDFS的環(huán)境變量的,不加的話默認(rèn)會(huì)讀CDH目錄下HBASE的配置,我因?yàn)檫@個(gè)東西卡了好幾天,加了好幾天班才發(fā)現(xiàn)。好想哭。。。。而KYLIN官方根本沒有寫,坑爹啊。。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
配置conf/kylin.properties和tomcat/conf/server.xml
conf/kylin.properties根據(jù)自己需要去配置,主要配置下hive和hbase的相關(guān)參數(shù),
tomcat/conf/server.xml主要有2個(gè)地方需要注意:
1.keystore
keystoreFile="conf/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS" />
需要去生成相應(yīng)的keystore文件,或者直接把這段注釋掉
2.我在測(cè)試環(huán)境上沒有修改這個(gè)可以正常運(yùn)行,在生產(chǎn)機(jī)部署的時(shí)候,打開前端的ui,出現(xiàn)無(wú)法加載models,配置,和環(huán)境變量的問(wèn)題,同時(shí)會(huì)在前臺(tái)彈出“failed to take actions”的提示
經(jīng)過(guò)好幾天的查找,發(fā)現(xiàn)是前端獲取資源在解壓縮的時(shí)候出現(xiàn)問(wèn)題,把壓縮關(guān)掉
在
redirectPort="7443"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla,traviata"
compressableMimeType="text/html,text/xml,text/javascript,application/javascript,application/json,text/css,text/plain"
/>中
把compression="on"改為 compression="off"
修改KYLIN_HOME/conf/kylin.perproties,
kylin.source.hive.client=beeline
##jdbc的url改為cluster1的hive地址
kylin.source.hive.beeline-params=-n root --hiveconf hive.security.authorization.sqlstd.confwhitelist.append='mapreduce.job.|dfs.' -u jdbc:hive2://stream3:25002
##改為cluster2的hdfs地址
kylin.storage.hbase.cluster-fs=hdfs://stream-master1:8020
另外我在build任務(wù)過(guò)程中第16步失敗,原因是分配資源不夠,在KYLIN_HOIME/conf/kylin_job_conf.xml中添加一下mapreduce.map.memory.mb和mapreduce.reduce.memory.mb的這兩個(gè)參數(shù),把值配大一點(diǎn)就好了。
然后啟動(dòng)就可以了。