【Kylin】Kylin入门解析(一)

(图片来源于网络,侵删)


一、Kylin 概述

1.Kylin 简介

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

2.Kylin 架构

在这里插入图片描述
1)REST Server
REST Server 是一套面向应用程序开发的入口点,旨在实现针对 Kylin 平台的应用开发
工作。 此类应用程序可以提供查询、获取结果、触发 cube 构建任务、获取元数据以及获取
用户权限等等。另外可以通过 Restful 接口实现 SQL 查询

2)查询引擎(Query Engine)
当 cube 准备就绪后,查询引擎就能够获取并解析用户查询。它随后会与系统中的其它
组件进行交互,从而向用户返回对应的结果

3)路由器(Routing)
在最初设计时曾考虑过将 Kylin 不能执行的查询引导去 Hive 中继续执行,但在实践后
发现 Hive 与 Kylin 的速度差异过大,导致用户无法对查询的速度有一致的期望,很可能大
多数查询几秒内就返回结果了,而有些查询则要等几分钟到几十分钟,因此体验非常糟糕。
最后这个路由功能在发行版中默认关闭

4)元数据管理工具(Metadata)
Kylin 是一款元数据驱动型应用程序。元数据管理工具是一大关键性组件,用于对保存
在 Kylin 当中的所有元数据进行管理,其中包括最为重要的 cube 元数据。其它全部组件的
正常运作都需以元数据管理工具为基础。 Kylin 的元数据存储在 hbase 中

5)任务引擎(Cube Build Engine)
这套引擎的设计目的在于处理所有离线任务,其中包括 shell 脚本、Java API 以及 MapReduce 任务等等。任务引擎对 Kylin 当中的全部任务加以管理与协调,从而确保每一项任务都能得到切实执行并解决其间出现的故障

3.Kylin 特点

Kylin 的主要特点包括支持 SQL 接口、支持超大规模数据集、亚秒级响应、可伸缩性、高吞吐率、BI 工具集成等
1)标准 SQL 接口:Kylin 是以标准的 SQL 作为对外服务的接口

2)支持超大数据集:Kylin 对于大数据的支撑能力可能是目前所有技术中最为领先的早在 2015 年 eBay 的生产环境中就能支持百亿记录的秒级查询,之后在移动的应用场景中又有了千亿记录秒级查询的案例

3)亚秒级响应:Kylin 拥有优异的查询相应速度,这点得益于预计算,很多复杂的计算,
比如连接、聚合,在离线的预计算过程中就已经完成,这大大降低了查询时刻所需的计算量,
提高了响应速度。

4)可伸缩性和高吞吐率:单节点 Kylin 可实现每秒 70 个查询,还可以搭建 Kylin 的集群。

5)BI 工具集成
Kylin 可以与现有的 BI 工具集成,具体包括如下内容。
ODBC:与 Tableau、Excel、PowerBI 等工具集成
JDBC:与 Saiku、BIRT 等 Java 工具集成
RestAPI:与 JavaScript、Web 网页集成
Kylin 开发团队还贡献了 Zepplin 的插件,也可以使用 Zepplin 来访问 Kylin 服务

二、Kylin 安装

2.1 Kylin 依赖环境

安装 Kylin 前需先部署好 Hadoop、Hive、Zookeeper、HBase,并且需要在/etc/profile 中配置以下环境变量 HADOOP_HOMEHIVE_HOMEHBASE_HOME,记得 source 使其生效

之前我们已经安装好了Hadoop、Hive、以及Zookeeper,但是还没有安装HBase,详细安装步骤请点击👉 【HBase】HBase入门详解(二)

2.2 Kylin 搭建

1)下载 Kylin 安装包
下载地址:http://kylin.apache.org/cn/download

2)解压 apache-kylin-2.5.1-bin-hbase1x.tar.gz 到 /opt/modules
tar -zxvf apache-kylin-2.5.1-bin-hbase1x.tar.gz -C /opt/modules
注意:启动前检查 HADOOP_HOME,HIVE_HOME,HBASE_HOME 是否配置完毕

3)配置
将core-site.xml、hdfs-site.xml、hive-site.xml、spark-defaults.conf软连接到kylin的conf目录下

修改 kylin.properties文件

36行 kylin.env.hdfs-working-dir=/apps/kylin
42行 kylin.env.zookeeper-base-path=/kylin
106行 kylin.source.hive.keep-flat-table=false
109行 kylin.source.hive.database-for-flat-table=default
112行 kylin.source.hive.redistribute-flat-table=true
118行 kylin.storage.url=hbase
121行 kylin.storage.hbase.table-name-prefix=KYLIN_
124行 kylin.storage.hbase.namespace=default
127行 kylin.storage.hbase.compression-codec=none
310行 kylin.env.hadoop-conf-dir=/opt/modules/hadoop/etc/hadoop
313行 kylin.engine.spark.rdd-partition-cut-mb=10
316行 kylin.engine.spark.min-partition=1
319行 kylin.engine.spark.max-partition=1000
322行 kylin.engine.spark-conf.spark.master=yarn
323行 kylin.engine.spark-conf.spark.submit.deployMode=cluster
324行 kylin.engine.spark-conf.spark.yarn.queue=default
325行 kylin.engine.spark-conf.spark.driver.memory=512M
326行 kylin.engine.spark-conf.spark.executor.memory=1G
327行 kylin.engine.spark-conf.spark.executor.instances=2
328行 kylin.engine.spark-conf.spark.yarn.executor.memoryOverhead=512
329行 kylin.engine.spark-conf.spark.shuffle.service.enabled=true
330行 kylin.engine.spark-conf.spark.eventLog.enabled=true
331行 kylin.engine.spark-conf.spark.eventLog.dir=hdfs://mycluster:8020/apps/spark2/spark-history
332行 kylin.engine.spark-conf.spark.history.fs.logDirectory=hdfs://mycluster:8020/apps/spark2/spark-history
333行 kylin.engine.spark-conf.spark.hadoop.yarn.timeline-service.enabled=false
336行 kylin.engine.spark-conf-mergedict.spark.executor.memory=1G
337行 kylin.engine.spark-conf-mergedict.spark.memory.fraction=0.2
340行 kylin.engine.spark-conf.spark.yarn.archive=hdfs://mycluster:8020/apps/spark2/lib/spark-libs.jar
341行 kylin.engine.spark-conf.spark.io.compression.codec=org.apache.spark.io.SnappyCompressionCodec

4)启动
(1)启动 Kylin 之前,需先启动 Hadoop(hdfs,yarn,jobhistoryserver)、Zookeeper、Hbase
(2)因为我们需要使用Kylin对接Hive,所以需要把Hive的元数据服务启动,./bin/hive --service metastore &
(3)启动 Kylin ./bin/kylin.sh start
(4)在 http://主机名:7070/kylin 查看 Web 页面,用户名为:ADMIN,密码为:KYLIN (必须大写)

5)关闭
./bin/kylin.sh stop

三、Kylin 简单使用

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


结束语


都看到这里了,点赞评论一下吧!!!

点击查看👇

敬请期待!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章