此篇为大家带来的是Kylin的简单介绍及安装部署。
安装所需要的文件博主已经上传到百度云了,如有需要可自行下载 链接:https://pan.baidu.com/s/1ZAQ1Uns1H4Ph1NTXQU9ZiQ 提取码:nunu
1. Kylin定义
Apache Kylin是一个开源的分布式分析引擎
,提供Hadoop/Spark之上的SQL查询接口及多维分析
(OLAP)能力以支持超大规模数据,最初由eBay开发并贡献至开源社区。它能在亚秒内查询巨大的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以及Map Reduce任务等等。任务引擎对Kylin当中的全部任务加以管理与协调,从而确保每一项任务都能得到切实执行并解决其间出现的故障。
3. Kylin特点
Kylin的主要特点包括支持SQL接口、支持超大规模数据集、亚秒级响应、可伸缩性、高吞吐率、BI工具集成等。
1.标准SQL接口
:Kylin是以标准的SQL作为对外服务的接口。
2.支持超大数据集
:Kylin对于大数据的支撑能力可能是目前所有技术中最为领先的。早在2015年eBay的生产环境中就能支持百亿记录的秒级查询,之后在移动的应用场景中又有了千亿记录秒级查询的案例。
3.亚秒级响应
:Kylin拥有优异的查询相应速度,这点得益于预计算,很多复杂的计算,比如连接、聚合,在离线的预计算过程中就已经完成,这大大降低了查询时刻所需的计算量,提高了响应速度。
可伸缩性和高吞吐率
:单节点Kylin可实现每秒70个查询,还可以搭建Kylin的集群。
4.BI工具集成
Kylin可以与现有的BI工具集成,具体包括如下内容。
ODBC:与Tableau、Excel、PowerBI等工具集成
JDBC:与Saiku、BIRT等Java工具集成
RestAPI:与JavaScript、Web网页集成
Kylin开发团队还贡献了Zepplin的插件,也可以使用Zepplin来访问Kylin服务。
二. 安装部署Kylin(下面的所有步骤所有虚拟机均需操作)
- 1.将apache-kylin-2.5.1-bin-hbase1x.tar.gz上传到Linux
- 2. 解压apache-kylin-2.5.1-bin-hbase1x.tar.gz到/opt/module
[bigdata@hadoop002 kylin]$ tar -zxvf apache-kylin-2.5.1-bin-hbase1x.tar.gz -C /opt/module/
// 注意:需要在/etc/profile文件中配置HADOOP_HOME,HIVE_HOME,HBASE_HOME并source使其生效。
[bigdata@hadoop003 software]$ sudo vim /etc/profile
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
#HBASE_HOME
export HBASE_HOME=/opt/module/hbase
export PATH=$PATH:$HBASE_HOME/bin
#HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
export KYLIN_HOME=/opt/module/kylin
export PATH=$PATH:$KYLIN_HOME/bin
// 使刚才的配置立即生效
[bigdata@hadoop002 kylin]$ source /etc/profile
- 3. 修改文件名
[bigdata@hadoop002 module]$ mv apache-kylin-2.5.1-bin-hbase1x kylin
- 4. 修改配置文件
[bigdata@hadoop002 conf]$ vim kylin.properties
- 5. 启动Kylin
// 启动Kylin前要保证HDFS,YARN,ZK,HBASE相关进程是正常运行的
[bigdata@hadoop002 kylin]$ start-dfs.sh
[bigdata@hadoop003 software]$ start-yarn.sh
[bigdata@hadoop002 zookeeper-3.4.10]$ bin/start-allzk.sh
[bigdata@hadoop002 hbase]$ bin/start-hbase.sh
[bigdata@hadoop002 kylin]$ mr-jobhistory-daemon.sh start historyserver
// 启动Kylin
[bigdata@hadoop002 kylin]$ bin/kylin.sh start
// 结束Kylin
[bigdata@hadoop002 kylin]$ bin/kylin.sh stop
- 6. web端查看 http://hadoop002:7070/kylin
用户名为:ADMIN,密码为:KYLIN(系统已填)
三. 安装时可能会遇见的坑
- 1. 遇到错误
文字错误:
代码语言:javascript复制2020-05-20 18:31:39,675 DEBUG [main] hbase.HBaseConnection:180 : Using the working dir FS for HBase: hdfs://hadoop002:9000
2020-05-20 18:31:39,735 INFO [main] imps.CuratorFrameworkImpl:224 : Starting
2020-05-20 18:31:39,738 INFO [main] zookeeper.ZooKeeper:438 : Initiating client connection, connectString=hadoop002:2181:2181,hadoop003:2181:2181,hadoop004:2181:2181 sessionTimeout=120000 watcher=org.apache.curator.ConnectionState@10c8f62
2020-05-20 18:31:39,770 ERROR [main] imps.CuratorFrameworkImpl:546 : Background exception was not retry-able or retry gave up
java.net.UnknownHostException: hadoop002:2181: 未知的名称或服务
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
- 2. 解决方法
// 修改hbase-site.xml 然后重启hbase和Kylin即可解决
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2,slave3</value>
</property>
本次的分享就到这里了