【Kylin】Kylin入门解析(一)

【Kylin】Kylin入门解析(一)_第1张图片【Kylin】Kylin入门解析(一)_第2张图片

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


一、Kylin 概述

1.Kylin 简介

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

2.Kylin 架构

【Kylin】Kylin入门解析(一)_第3张图片
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 简单使用

【Kylin】Kylin入门解析(一)_第4张图片
【Kylin】Kylin入门解析(一)_第5张图片
【Kylin】Kylin入门解析(一)_第6张图片
【Kylin】Kylin入门解析(一)_第7张图片
【Kylin】Kylin入门解析(一)_第8张图片
【Kylin】Kylin入门解析(一)_第9张图片
【Kylin】Kylin入门解析(一)_第10张图片
【Kylin】Kylin入门解析(一)_第11张图片
【Kylin】Kylin入门解析(一)_第12张图片
【Kylin】Kylin入门解析(一)_第13张图片
【Kylin】Kylin入门解析(一)_第14张图片
【Kylin】Kylin入门解析(一)_第15张图片
【Kylin】Kylin入门解析(一)_第16张图片
【Kylin】Kylin入门解析(一)_第17张图片
【Kylin】Kylin入门解析(一)_第18张图片
【Kylin】Kylin入门解析(一)_第19张图片
【Kylin】Kylin入门解析(一)_第20张图片
【Kylin】Kylin入门解析(一)_第21张图片
【Kylin】Kylin入门解析(一)_第22张图片
【Kylin】Kylin入门解析(一)_第23张图片
【Kylin】Kylin入门解析(一)_第24张图片
【Kylin】Kylin入门解析(一)_第25张图片
【Kylin】Kylin入门解析(一)_第26张图片
【Kylin】Kylin入门解析(一)_第27张图片
【Kylin】Kylin入门解析(一)_第28张图片
【Kylin】Kylin入门解析(一)_第29张图片


结束语


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

点击查看

敬请期待!

你可能感兴趣的:(Flume,Hue,Azkaban,Sqoop,Impala)