Ambari2.6.1集成Apache Kylin服务

Posted 大数据实战演练

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ambari2.6.1集成Apache Kylin服务相关的知识,希望对你有一定的参考价值。

一、前言

Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。

如果需要将Kylin服务受控于Ambari管控,那就需要集成服务了。

二、集成服务

使用该项目的前提条件

  1. ambari集群各主机已安装wget命令

  2. 适配CentOS-7 64位系统,CentOS-6 64位系统(使用CentOS-6系统,启动nginx时可能会报错,下文会粘出解决方法),其他系统没有测试

  3. 适配于ambari2.6 + hdp 2.6.4.0-91,【ambari2.7(待适配)】

  4. 版本说明:Kylin 2.5.1 + Nginx 1.8.1


部署步骤:

  1. 将Kylin和Nginx的源码包放到Ambari主节点的/var/www/html/kylin中,不需要解压。

  2. 这里我选择的stack版本是2.6,执行一下命令:

cd /var/lib/ambari-server/resources/stacks/HDP/2.6/services
mkdir KYLIN
# 将ambari-Kylin项目拷贝到KYLIN目录下
git clone https://github.com/841809077/ambari-Kylin.git /var/lib/ambari-server/resources/stacks/HDP/2.6/services/KYLIN
# 如果命令卡住,请手动下载压缩包并解压到KYLIN目录下

最终如图所示:

  1. 重启ambari:ambari-server restart


Kylin部署方式


该项目修改如下:

  1. Kylin和Nginx源码修改

    1. 修改了Kylin的日志输出为/var/log/kylin/目录下

    2. 修改Nginx的日志输出为/var/log/nginx/目录下

    3. 修改Nginx的pid文件路径为:/var/run/nginx/nginx.pid

  2. 完善脚本逻辑,优化代码。

  3. 增加并修改kylin.xmlnginx.xml文件内容

  4. 实现在ambari web UI修改配置项,保存后提示重启功能

  5. 由于80端口与httpd端口冲突,所以修改Nginx的端口为81

  6. 解决nginx负载均衡后,需要刷新页面,重复登陆才可以访问到实时数据的问题,实现session会话持久性


项目逻辑说明

  1. 通过wget命令在主节点的本地仓库中下载KylinNginx的源码,源码安装路径分别为:/usr/hdp/2.6.4.0-91/kylin/usr/hdp/2.6.4.0-91/nginx。不要修改nginx的安装目录,否则启动nginx会报错。如果需要更改nginx的安装目录,需要重新编译nginx源码。

  2. 通过该服务脚本能够成功部署Kylin集群,三台主机:一个all模式,两个query模式,nginx节点可安装在任意一台节点上。

  3. 不足或需要注意的地方: 选择Kylin slave的时候,Kylin all所在节点上不能安装Kylin Query,这里在ambari界面上没有做限制。要注意。最终实现效果就是每个节点上都有Kylin服务,只不过模式不同,分工不同。


效果图

Ambari2.6.1集成Apache Kylin服务
Ambari2.6.1集成Apache Kylin服务
Ambari2.6.1集成Apache Kylin服务

nginx在CentOS-6 64位系统启动失败问题解决方案

解决方案:

https://841809077.github.io/2018/05/21/Nginx%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE.html#5-ngnix%E5%9C%A8CentOS-6%E7%B3%BB%E7%BB%9F%E5%90%AF%E5%8A%A8%E6%8A%A5%E9%94%99


还拥有的功能

  1. Kylin服务依赖于hdfs,mapreduce,hive,hbase组件,如何定义ambari集群各服务组件的起停顺序,使Kylin服务组件在hdfs,mapreduce,hive,hbase组件之后启动呢,这是一个知识点

  2. 添加告警设置,如果某节点的Kylin端口挂掉了,给与用户报警展示


如果感觉本文对您有帮助,请点击右下角‘好看’支持一下,您的支持是我坚持写作最大的动力,谢谢!

如果您有疑问或想法,可点击阅读全文进行评论,作者会第一时间回复。


以上是关于Ambari2.6.1集成Apache Kylin服务的主要内容,如果未能解决你的问题,请参考以下文章

开源分布式支持超大规模数据分析型数据仓库Apache Kylin实践-下

Apache Kylin本地启动

Apache Kylin 是什么?

Apache Kylin 简介

解决kylin查询报错:org.apache.kylin.rest.exception.InternalErrorException

Apache Kylin 历险记