Apache Kylin 分布式安装

在写这篇文章前,先说明为何要写这篇文章。看过我之前CDH问题修复的朋友们应该知道我们公司的大数据环境崩溃过一次,原因在CDH问题修复中有相应记录。大数据环境的崩溃不得不迫使我对CDH上的服务进行恢复,除了恢复CDH已经集成的大数据组件,额外的我们安装的kylin服务也需要恢复,为了不让这次重复安装的操作没有意义,特意写下这篇kylin分布式安装,原因也是对Kylin官网分布式的相关补充,官网的介绍少之又少。

首先去kylin官网下载安装包:
https://www.apache.org/dyn/closer.cgi/kylin/apache-kylin-2.6.5/apache-kylin-2.6.5-bin-cdh60.tar.gz

由于我们是cdh6.2,所以我们下载这个最相近的版本,实际系统中我装的是2.6.3这个版本。

我们把下载的压缩包解压到服务器的某一路径上,我们这里解压到的是/usr/loacl,然后我们进到配置文件夹进行多节点的配置。

Kylin 实例是无状态的服务,运行时的状态信息存储在 HBase metastore 中。 出于负载均衡的考虑,您可以启用多个共享一个 metastore 的 Kylin 实例,使得各个节点分担查询压力且互为备份,从而提高服务的可用性。下图描绘了 Kylin 集群模式部署的一个典型场景:

在这里插入图片描述

Kylin 集群模式部署
如果您需要将多个 Kylin 节点组成集群,请确保他们使用同一个 Hadoop 集群、HBase 集群。然后在每个节点的配置文件 $KYLIN_HOME/conf/kylin.properties 中执行下述操作:

配置相同的 kylin.metadata.url 值,即配置所有的 Kylin 节点使用同一个 HBase metastore。
配置 Kylin 节点列表 kylin.server.cluster-servers,包括所有节点(包括当前节点),当事件变化时,接收变化的节点需要通知其他所有节点(包括当前节点)。
配置 Kylin 节点的运行模式 kylin.server.mode,参数值可选 all, job, query 中的一个,默认值为 all。
job 模式代表该服务仅用于任务调度,不用于查询;query 模式代表该服务仅用于查询,不用于构建任务的调度;all 模式代表该服务同时用于任务调度和 SQL 查询。
注意:默认情况下只有一个实例用于构建任务的调度 (即 kylin.server.mode 设置为 all 或者 job 模式)。

安装负载均衡器
为了将查询请求发送给集群而非单个节点,您可以部署一个负载均衡器,如 Nginx, F5 或 cloudlb 等,使得客户端和负载均衡器通信代替和特定的 Kylin 实例通信。

在这里插入图片描述
在这里插入图片描述

我们首先的目的是将服务先跑起来,至于错误,我们稍后逐项排查解决。
启动kylin报错
在这里插入图片描述

在这里插入图片描述

kylin的负载均衡配置:
我们有5台机器,其中3台机器安装了kylin,其中两台kylin的角色只有query,另一台为kylin的主节点,角色为all(query+job)。通过nginx将请求以轮询的方式转发到各台机器上。

首先下载nginx
安装依赖
yum install wget gcc pcre zlib openssl
下载安装包
wget http://nginx.org/download/nginx-1.8.1.tar.gz
解压
tar -zxvf nginx-1.8.1.tar.gz
configure
./configure
在这里插入图片描述
make&make install
在这里插入图片描述
如果我们在编译的过程中没有遇到报错,那说明安装成功了,我们去上一级目录找到nginx文件进入
sbin/nginx
就执行了我们的nginx服务,然后配置nginx如下
在这里插入图片描述
在nginx里配置完这些选项,kylin 分布式计算部署完成了。

清理Kylin的中间存储数据(HDFS & HBase Tables)

Kylin在创建cube过程中会在HDFS上生成中间数据。另外,当我们对cube执行purge/drop/merge时,一些HBase的表可能会保留在HBase中,而这些表不再被查询,尽管Kylin会做一些自动的垃圾回收,但是它可能不会覆盖所有方面,所以需要我们能够每隔一段时间做一些离线存储的清理工作。具体步骤如下:

  1. 检查哪些资源需要被清理,这个操作不会删除任何内容:
    

${KYLIN_HOME}/bin/kylin.sh org.apache.kylin.storage.hbase.util.StorageCleanupJob --delete false

  1. 根据上面的输出结果,挑选一两个资源看看是否是不再需要的。接着,在上面的命令基础上添加“–delete true”选项,开始执行清理操作,命令执行完成后,中间的HDFS文和盒HTables表就被删除了。
    

${KYLIN_HOME}/bin/kylin.sh org.apache.kylin.storage.hbase.util.StorageCleanupJob --delete true
————————————————
原文链接:https://blog.csdn.net/jiangshouzhuang/article/details/51290399

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

再难也要坚持

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值