Kylin环境搭建(保姆级教程)

一、Kylin简介

Apache Kylin是基于Hadoop大数据平台的一个开源联机分析处理(Online Analytical Processing,OLAP)引擎。它采用多维立方体预计算技术,将大数据的SQL查询速度从之前的分钟乃至小时级别提升到亚秒级别,这种百倍、千倍的速度提升,为超大规模数据集上的交互式大数据分析奠定了基础。

1. 发展历程

eBay公司遇到的问题:面对数据的指数级增长,传统架构只能纵向扩展,必然遇到“瓶颈“;虽然有Hadoop大数据平台可以提供大规模数据的存储和分析,但不能与BI平台的对接不够成熟,且不能提供高效的交互式查询。

  • 2013年年中,eBay公司启动了一个大数据项目,其中有一部分内容就是BI on Hadoop的预研。经过大量的分析和测试,在当时市面上找不到一个既能在超大规模数据集上提供秒级的查询性能,又能与BI平台完美整合的项目。eBay中国卓越中心组建了一支小团队,决定自己实现一套OLAP-on-Hadoop的解决方案。
  • 2014年9月底,代号Kylin的大数据平台在eBay内部正式上线
  • 2014年10月1日,Kylin项目负责人韩卿将项目源代码提交到github.com并正式开源
  • 2014年11月正式加入Apache孵化器项目
  • 2015年11月,Apache软件基金会宣布Apache Kylin正式成为顶级项目。这也是第一个由中国人主导的Apache顶级开源项目,在国际开源社区具有极大的影响力。
  • 2016年3月,由Apache Kylin核心开发者组建的创业公司Kyligence正式成立
  • 2015、2016连续两年获得InfoWorld的Bossie Award评选的"最佳开源大数据工具奖"。这里有历年获奖名单:https://www.infoworld.com/article/2688545/infoworld-bossies.html

2. 工作原理

Apache Kylin的工作原理本质上是MOLAP(Multidimensional Online Analytical Processing)Cube,也就是多维立方体分析。其工作原理就是对数据模型做Cube预计算,并利用计算的结果加速查询。过程如下:
(1)指定数据模型(目前支持星形模型和雪花模型),定义维度和度量。
(2)预计算Cube,计算所有Cuboid并将其保存为物化视图。
(3)执行查询时,读取Cuboid,进行加工运算产生查询结果。

3. 基本架构

Kylin的整个架构可分为在线查询离线构建两部分。

  • 离线构建:构建引擎从数据源中抽取数据(数据符合星形模型或雪花模型),并构建Cube。用户可以选择使用MapReduce或Spark进行构建。构建后的Cube保存在右侧的存储引擎中,目前HBase是默认的存储引擎。
  • 在线查询:构建完成后,用户可以通过REST API、JDBC/ODBC方式进行查询分析。

Kylin架构图

4. 特点

  • 标准SQL 接口:Kylin内部以Cube技术为核心,对外却没有选用MDX(MultiDimensional eXpression),而是以标准SQL作为对外服务的主要接口。这主要是考虑绝大多数分析人员最熟悉的工具仍然是SQL,同时SQL也是大多数应用程序使用的编程接口。
  • 支持超大数据集:Kylin 对于大数据的支撑能力可能是目前所有技术中最为领先的。早在 2015 年 eBay 的生产环境中就能支持百亿记录的秒级查询,之后在移动的应用场景中又有了千亿记录秒级查询的案例。
  • 亚秒级响应:Kylin 拥有优异的查询相应速度,这点得益于预计算,很多复杂的计算,比如连接、聚合,在离线的预计算过程中就已经完成,这大大降低了查询时刻所需的计算量,提高了响应速度。
  • 可伸缩性和高吞吐率:单节点 Kylin 可实现每秒 70 个查询,还可以搭建 Kylin 的集群
  • BI 工具集成:Kylin 可以与现有的 BI 工具集成,具体包括如下内容:
    • ODBC:与 Tableau、Excel、PowerBI 等工具集成
    • JDBC:与 Saiku、BIRT 等 Java 工具集成
    • RestAPI:与 JavaScript、Web 网页集成

二、Kylin安装

1. 环境准备

官方提倡使用HDP或CDH等发行版进行安装,本文将使用Apache版本进行安装,以下是各依赖项的版本:

  • Hadoop 2.7.7:可参考Hadoop安装教程:https://blog.csdn.net/tangyi2008/article/details/121908766
  • Zookeeper:可参考ZooKeeper安装教程:https://blog.csdn.net/tangyi2008/article/details/121984758
  • HBase 1.1.13:可参考HBase安装教程:https://blog.csdn.net/tangyi2008/article/details/122593037,注意博文中的版本为2.1.9,记得换成1.1.13
  • Hive 2.3.9:可参考Hive安装教程:https://blog.csdn.net/tangyi2008/article/details/123368215

本文暂时没有使用Spark和Kafka等依赖环境。

版本选择非常重要,如果自己没有一套兼容的版本,可参照本文选择,能跑通(当时在使用hbase-2.1.9和hbase-1.7.1两个版本时遇到了各种问题都未能解决,最后换成HBase 1.1.13一切正常)

2. Kylin

下载地址:https://archive.apache.org/dist/kylin/

本文选择版本为:apache-kylin-3.1.3-bin-hbase1x.tar.gz

下载好对应版本的Kylin后,上传至服务器,本文上传至~/soft目录,本文约定:

  • 教程中使用的用户名为xiaobai
  • 安装包的位置/home/xiaobai/soft
  • 安装的目录/home/xiaobai/opt
  • 主机名称node1

上传、解压、创建软连接

tar -xvf apache-kylin-3.1.3-bin-hbase1x.tar.gz -C ~/opt
cd ~/opt
ln -s apache-kylin-3.1.3-bin-hbase1x kylin

配置环境变量

vi ~/.bashrc

在文件末尾添加:

export KYLIN_HOME=/home/xiaobai/opt/kylin
export PATH=$KYLIN_HOME/bin:$PATH

运行命令使其生效source ~/.bashrc

3. 启动

启动 Kylin 之前,需先启动 Hadoop(hdfs,yarn,jobhistoryserver)、Zookeeper、Hbase。

整个启动顺序如下:

zkServer.sh start
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
start-hbase.sh 
kylin.sh start

4. 登录网页

进入网页:http://node1:7070/kylin/进行登录,初始账号为ADMIN,密码为KYLIN

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传KylinLogin

后续再更新Cube构建和查询分析相关内容。

三、相关资源

本文相关资源放于网盘:

链接:https://pan.baidu.com/s/1kjcuNNCY2FxYA5o7Z2tgkQ 
提取码:nuli 

猜你喜欢

转载自blog.csdn.net/tangyi2008/article/details/123452796