搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 17聊技术 > 一起作业Kylin应用之读写分离与高可用

一起作业Kylin应用之读写分离与高可用

17聊技术 2018-01-26

前面那篇文章介绍了潘多拉系统目前的架构----Hbase独立集群+Kylin高可用,这篇主要来聊聊这个架构的搭建步骤和遇到的问题。

如上图所示,潘多拉系统主要由Hbase集群、kylin集群、Hadoop集群和saiku集群组成。


Hbase集群:6台机器,2个master(主、备)实例,6个region server实例

Kylin集群:2个实例,与hbase集群部署在同一物理集群上,其中1个model=all,另一个model=query,nginx作为LB

Hadoop集群:超过50台机器,为kylin提供源数据及MR计算

Saiku集群:2台机器,nginx作为LB,负载均衡算法为轮询

一、环境确认

在正式搭建集群之前,需要先确认如下几点:

1、Hbase集群和Hadoop集群是否能互相访问。因为Hadoop集群要提交数据至Hbase集群,所以要求能互相访问;

2、Kylin集群能通过hbase shell访问Hbase集群,能提交MR至Hadoop集群。由于系统对查询的延时性要求较高,应使Kylin集群和Hbase集群在网络上尽量靠近,所以最好将Kylin集群和Hbase集群搭建在同一个物理机集群上;

3、Hbase集群和Hadoop集群的Hadoop核心版本一致。在命令行输入 hadoop version ,即可显示hadoop的版本。

一起作业Kylin应用之读写分离与高可用

图二 hadoop版本

以上问题都确认好之后,就可以着手搭建了。


二、搭建过程

1、hbase集群、hadoop集群中每台机器都添加全部的hosts信息,确保任意机器到任意机器能通过主机名ping通;

2、将hadoop集群上 /etc/hive/conf/ 下的配置文件拷贝至hbase集群的 /etc/hive/conf/ 和 /etc/hbase/conf/ 目录下。需要拷贝的配置文件列表如下:

一起作业Kylin应用之读写分离与高可用

拷贝完的文件列表如下所示:

一起作业Kylin应用之读写分离与高可用

图三Hive配置文件


一起作业Kylin应用之读写分离与高可用

图四Hbase 配置文件


3、部署kylin实例,修改kylin.properties。

修改好的两份kylin.properties,除了kyin.server.mode不同之外,其余部分应保持一致。

4、修改nginx.conf,将两台kylin实例加入upstream kylins中,修改监听的端口号,配置proxy_pass路径,如下图所示。

图五 nginx.conf配置文件


5、Saiku集群配置。过程基本同上,略。


三、确认

上述过程完成了,可以开始验证kylin的读写分离是否搭建成功。

2、Kylindata source能看到hadoop集群上的库、表;

3、Buildcube,观察MR是否提交至hadoop集群运行;

4、Build产生的hfile能否存储至hbase集群;

5、Build完后saiku能否顺利查询数据。


四、遇到的问题及解决

1、kylin build过程报错,错误内容为找不到主机名。

A:检查提示找不到的主机名是否添加至hbase集群中。

2、kylin不能从hadoop集群上读取表。

A:确认 /etc/hive/conf 配置文件都拷贝全并放到正确路径。

3、kylin build过程MR提交失败,提示权限问题。

A:如果hadoop集群设置了任务提交队列,可以新建队列中的用户,以该用户启动kylin。

4、hbase文件路径不能访问。

A:修改集群上的hbase文件权限。


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《一起作业Kylin应用之读写分离与高可用》的版权归原作者「17聊技术」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注17聊技术微信公众号

17聊技术微信公众号:gh_0c70060310cf

17聊技术

手机扫描上方二维码即可关注17聊技术微信公众号

17聊技术最新文章

精品公众号随机推荐