目录

  • 一、Kylin简介
    • 1. 发展历程
    • 2. 工作原理
    • 3. 基本架构
    • 4. 特点
  • 二、Kylin安装
    • 1. 环境准备
    • 2. Kylin
    • 3. 启动
    • 4. 登录网页
  • 三、相关资源

一、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方式进行查询分析。

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

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

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

三、相关资源

本文相关资源放于网盘:

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

Kylin环境搭建(保姆级教程)相关推荐

  1. APP自动化测试——Appium运行环境搭建保姆级教程

    APP自动化测试运行环境比较复杂,稍微不注意安装就会失败.我见过不少朋友,装了1个星期,Appium 的运行环境还没有搭好的. 搭建环境本身不是一个有难度的工作,但是 Appium 安装过程中确实存在 ...

  2. 域环境的搭建(保姆级教程)

    域环境的搭建(保姆级教程) 一.基础知识 二.实验环境 三.实验步骤 1.设置静态ip地址 我们给server 2008 设置静态ip地址 2.安装活动目录角色 2.1 点击添加角色 2.2 我们单击 ...

  3. CSGO饥荒服务器搭建保姆级教程

    CSGO&饥荒服务器搭建保姆级教程 准备 第一步:软硬件 软件:Xshell.Xftp用于连接云服务器和进行文件传输. 进去填写邮箱,他会给你发个邮件,通过邮件获得下载链接,通过下载链接下载X ...

  4. 个人网站搭建保姆级教程(2)- 前端工程umi脚手架搭建

    前言 最近搞了个服务器,想着自己做个网站的脚手架,因为自己是纯前端新手,而且半路出家,中途踩了好多坑,准备写5篇给各位大佬们分享一下,如何从0搭建个人网站 服务器购买与环境搭建 前端工程umi脚手架搭 ...

  5. 本地k8s集群搭建保姆级教程(4)-安装k8s集群Dashboard

    安装k8s集群管理UI 1 Dashboard安装 1.1 参考文档 Dashboard 是基于网页的 Kubernetes 用户界面. 你可以使用 Dashboard 将容器应用部署到 Kubern ...

  6. 安装conda搭建python环境(保姆级教程)

    目录 一.Anaconda简介 二.Anaconda安装 2.1 Anaconda下载 2.2 Anaconda安装 2.3 配置环境变量 三.通过conda配置python环境 3.1 创建并激活虚 ...

  7. Mac Xcode opencv C++环境配置 保姆级教程 填坑记录 19年最新版本

    网上找了很多教程,照着做都失败了,整整弄了两天两夜,终于好了.网上根本没有人遇到我的坑么?都搜不到,国外也没搜到,呜呜- 版本说明: 1.(必备)MacBook系统:macOS Catalina(版本 ...

  8. Conda各平台安装配置和使用Python环境(保姆级教程)

    Conda是python程序运行环境的管理工具.Python是目前最流行的计算机语言,由于python是胶水语言,功能上的实现依赖第三方包.有的python脚本需要特定版本的依赖包运行,如果直接在电脑 ...

  9. 配置vscode C语言运行环境(保姆级教程)

    基本步骤 首先是安装一个软件,安装完成之后就需要配置了 因为VSCode不能直接拿来写C,所以需要相关插件, 然后任何语言的程序在运行前都需要编译,那还需要一个编译器,很可惜VSCode插件里面不自带 ...

  10. Mac系统配置环境变量保姆级教程

    1.下载好相关安装包 2.打开终端,输入命令转到系统环境变量配置文件 sudo vim ~/.bash_profile 输入密码(密码不显示,实际上已经在输入了) 3.替换配置文件中PATH后的部分, ...

最新文章

  1. Ubuntu 强制删除文件夹(非空)
  2. 屏幕元素属性的控制盒屏幕事件的中止
  3. centos6.5用memcached 来作PHP 的session.save_handler
  4. 使用KiWi Syslog Daemon构建日志服务器
  5. Kotlin成为正式的Android编程语言
  6. Structured Streaming从Kafka 0.8中读取数据的问题
  7. 多目标跟踪FairMOT笔记
  8. Py之pyquery:pyquery的简介、安装、使用方法之详细攻略
  9. 五:二叉树中和为某一直的路径
  10. SQL Server遍历表中记录的2种方法
  11. 移远EC20 4G模块LTE开发板三网通模块 MQTT阿里云物联网
  12. 组策略复制失败排错思路实例
  13. 均匀权重向量集合的生成
  14. 视频教程-2020年软考网络工程师基础知识历年真题详解软考视频教程-软考
  15. 2022年安全员-B证操作证考试题库及答案
  16. shell脚本实现批量解析域名IP地址(支持多DNS)
  17. 【一 DE1-SOC】quartus II下载程序步骤
  18. ArcMap:线、面符号的制作(通用线符号的制作)超详细
  19. android 获取通话记录不准确(为上次记录)
  20. 个人博客小案例(纯Django搭建)

热门文章

  1. 一个男人关心的东西决定了他的层次
  2. Flutter学习总纲教程
  3. 商城-商品规格管理-SPU和SKU数据结构
  4. 网站客服系统_网页客服系统安装使用_GOFLY在线客服系统
  5. MarkdownPad2安装、错误、激活码
  6. 浏览器乱码的原因是什么?如何解决?
  7. 干货!毫米波雷达超强解读
  8. 数字孪生平台技术方案
  9. 中英文c语言编程对照表,[转〕C中的中英文对照.
  10. java计算机毕业设计体检系统源码+数据库+系统+lw文档+mybatis+运行部署