溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

kylin跨集群配置實(shí)現(xiàn)讀寫分離

發(fā)布時(shí)間:2020-07-05 07:47:15 來源:網(wǎng)絡(luò) 閱讀:46943 作者:choulanlan 欄目:大數(shù)據(jù)

社區(qū)提供的讀寫分離架構(gòu)圖如下:kylin跨集群配置實(shí)現(xiàn)讀寫分離
通過架構(gòu)圖可以看到Kylin會(huì)訪問兩個(gè)集群的HDFS,建議兩個(gè)集群的NameService務(wù)必不能相同,尤其是集群啟用NameNode HA時(shí),相同的NameService會(huì)導(dǎo)致組件在跨集群訪問HDFS時(shí)因無法區(qū)分NameService而出現(xiàn)問題。

兩個(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,里面需要有這些文件
kylin跨集群配置實(shí)現(xiàn)讀寫分離

下面解釋一下哪些用cluster1的參數(shù),哪些文件用cluster2的參數(shù).。如果用cluster1的參數(shù),直接從cluster1拷貝過來就行了。
這些文件都在$KYLIN/HOME/hadoop_conf這個(gè)目錄下
core-site.xml----cluster1 這個(gè)里面配置了hdfs的地址
hbase-site.xml---cluster2
hdfs-site.xml----cluster2 這個(gè)里面配置了nameservice的參數(shù),沒有它無法解析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是用過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
<Connector port="7443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="conf/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS" />
需要去生成相應(yīng)的keystore文件,或者直接把這段注釋掉

2.我在測試環(huán)境上沒有修改這個(gè)可以正常運(yùn)行,在生產(chǎn)機(jī)部署的時(shí)候,打開前端的ui,出現(xiàn)無法加載models,配置,和環(huán)境變量的問題,同時(shí)會(huì)在前臺(tái)彈出“failed to take actions”的提示
經(jīng)過好幾天的查找,發(fā)現(xiàn)是前端獲取資源在解壓縮的時(shí)候出現(xiàn)問題,把壓縮關(guān)掉

<Connector port="7070" protocol="HTTP/1.1"
connectionTimeout="20000"
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ù)過程中第16步失敗,原因是分配資源不夠,在KYLIN_HOIME/conf/kylin_job_conf.xml中添加一下mapreduce.map.memory.mb和mapreduce.reduce.memory.mb的這兩個(gè)參數(shù),把值配大一點(diǎn)就好了。

然后啟動(dòng)就可以了。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI