kylin跨集群配置实现读写分离-创新互联

社区提供的读写分离架构图如下:kylin跨集群配置实现读写分离
通过架构图可以看到Kylin会访问两个集群的HDFS,建议两个集群的NameService务必不能相同,尤其是集群启用NameNode HA时,相同的NameService会导致组件在跨集群访问HDFS时因无法区分NameService而出现问题。

站在用户的角度思考问题,与客户深入沟通,找到兴城网站设计与兴城网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖兴城地区。

两个集群:
cluster1(hive集群):hdfs.hive,yarn,zookeeper,mr
cluster2(hbase集群):hdfs,hbase,zookeeper,yarn,kylin
首先配一个KYLIN_HOME,配到KYLIN的主目录
我们的kylin安装在cluster2上,只要在cluster2上面配置环境变量就可以了。
在cluster2上要配置很多cluster1的hadoo参数
我单独创建一个目录放在$KYLIN_HOME下,叫hadoop_conf,里面需要有这些文件
kylin跨集群配置实现读写分离

下面解释一下哪些用cluster1的参数,哪些文件用cluster2的参数.。如果用cluster1的参数,直接从cluster1拷贝过来就行了。
这些文件都在$KYLIN/HOME/hadoop_conf这个目录下
core-site.xml----cluster1 这个里面配置了hdfs的地址
hbase-site.xml---cluster2
hdfs-site.xml----cluster2 这个里面配置了nameservice的参数,没有它无法解析nameservice
hive--site.xml---cluster1
mapred-site.xml--cluster1

我们用kylin用户去启动及服务,所以配置一下kylin用户环境变量,修改 ~/.bashrc 这个文件
添加上这些
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
这个HBASE_CONF_DIR很重要,因为kylin是用过HBASE去读取hdfs--site和core-site.xml这两个文件从而读取HDFS的环境变量的,不加的话默认会读CDH目录下HBASE的配置,我因为这个东西卡了好几天,加了好几天班才发现。好想哭。。。。而KYLIN官方根本没有写,坑爹啊。。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

配置conf/kylin.properties和tomcat/conf/server.xml
conf/kylin.properties根据自己需要去配置,主要配置下hive和hbase的相关参数,
tomcat/conf/server.xml主要有2个地方需要注意:
1.keystore
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="conf/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS" />
需要去生成相应的keystore文件,或者直接把这段注释掉

2.我在测试环境上没有修改这个可以正常运行,在生产机部署的时候,打开前端的ui,出现无法加载models,配置,和环境变量的问题,同时会在前台弹出“failed to take actions”的提示
经过好几天的查找,发现是前端获取资源在解压缩的时候出现问题,把压缩关掉

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任务过程中第16步失败,原因是分配资源不够,在KYLIN_HOIME/conf/kylin_job_conf.xml中添加一下mapreduce.map.memory.mb和mapreduce.reduce.memory.mb的这两个参数,把值配大一点就好了。

然后启动就可以了。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前名称:kylin跨集群配置实现读写分离-创新互联
文章网址:http://scyanting.com/article/dppjpj.html