Apache Kylin是一种OLAP查询引擎,支持PB级别数据,通过对大数据对预处理,以达到用空间换时间对目标,使得查询响应可以达到亚秒,符合业务快速查询分析对需求。
Apahce支持将Hive,Kafka等作为数据源。
本文的Apache Kylin安装使用过程中,将Hive最为离线数据源,并在最后做了Apache Kylin和Hive的简单对比。
安装环境说明:
软件 | 版本 |
java | 1.8.0_65 |
Hadoop | 2.7.3 |
ZooKeeper | 3.4.13 |
HBase | 1.2.6 |
hive | 1.2.2 |
MySQL | 5.5.62-0ubuntu0.14.04.1 (Ubuntu) |
Linux | Ubuntu 14.04.4 |
软件版本常用查看命令:
java -version
hadoop version
hbase version
本次安装使用具有root权限的ubuntu用户,安装都使用sudo su - 先切换
安装步骤如下:
1.安装zookeeper
2.创建Hbase-集群
3.安装hive
3.1 安装mysql数据库
apt-get update
apt-get install mysql-server
如果在apt-get install过程中出现依赖或者源的问题
可以参考:https://blog.csdn.net/t1174148618/article/details/79482458
3.2 下载hive
参考:https://www.cnblogs.com/dxxblog/p/8193967.html
下载hive1.2.2 安装包,然后解压 tar -zxvf apache-hive-1.2.2-bin.tar.gz
(hive 下载地址:http://mirror.bit.edu.cn/apache/hive/)
3.3 在mysql中创建hive库
3.4 配置hive-site.xml
3.4 MySQL的connetor
下载mysql的connector包,https://dev.mysql.com/downloads/file/?id=489462,将该jar放到hive的lib目录
在hive/bin下执行命令schematool -dbType mysql -initSchema
3.5 运行hive
执行hive命令成功。
可能遇到的问题:
hive启动过程中,无法连接mysql,但是手动命令myslq -uroot -p123456是可以的
https://stackoverflow.com/questions/6865538/solving-a-communications-link-failure-with-jdbc-and-mysql/10772407#10772407
查看/etc/mysql/my.cnf
发现bind-address为127.0.0.1
将hive-site中的mysql地址改为127.0.0.1后可以了
4.在Hbase的client节点安装kylin
安装参考:http://kylin.apache.org/cn/docs/install/index.html
下载http://mirror.bit.edu.cn/apache/kylin/apache-kylin-2.6.2/apache-kylin-2.6.2-bin-hbase1x.tar.gz
4.1 解压 tar 包,配置环境变量 $KYLIN_HOME 指向 Kylin 文件夹。
tar -zxvf apache-kylin-2.5.0-bin-hbase1x.tar.gz
cd apache-kylin-2.5.0-bin-hbase1x
export KYLIN_HOME=`pwd`
4.2 下载spark
从 v2.6.1 开始, Kylin 不再包含 Spark 二进制包; 可以使用脚本下载spark
$KYLIN_HOME/bin/download-spark.sh
4.3 检查运行环境
运行 $KYLIN_HOME/bin/check-env.sh
脚本来进行环境检测,如果您的环境存在任何的问题,脚本将打印出详细报错信息。如果没有报错信息,代表您的环境适合 Kylin 运行。
基本上都是一些访问权限问题。
4.4启动kylin报错:
运行 $KYLIN_HOME/bin/kylin.sh start
脚本来启动 Kylin
启动成功后,可以通过浏览器 http://
进行访问。
初始用户名和密码是 ADMIN/KYLIN
kylin启动可能遇到的问题:
1.ZooKeeper连接报错
问题分析: 这是由于端口号2181在zk connectString里写了两遍,从而造成了zk:2181:2181的情况。
解决方法:
在$HBASE_HOME/conf/的文件夹下,修改hbase-site.xml的hbase.zookeeper.quorum,该项只需配置Host不需要配置端口号Port。
配置如下:
参考:https://blog.csdn.net/a_drjiaoda/article/details/85113210
2.sudo su root 后,启动报错
没有hbase执行权限
使用sudo su - 切换
5. 测试kylin:
5.1创建sample_cube
使用kylin自带的sample-data创建sample-cube,目录为${KYLIN_HOME}/sample_cube, 导入sampe-data到hive中到方式:
参考:http://kylin.apache.org/cn/docs/tutorial/kylin_sample.html
https://blog.csdn.net/tototuzuoquan/article/details/80359565
运行 ${KYLIN_HOME}/bin/sample.sh
执行完成后,提示 Restart Kylin Server or click Web UI => System Tab => Reload Metadata to take effect
5.2 对比hive效率
在kylin到web页面上,选择project:learn_kylin
点击 “Insight” 标签,执行 SQLs,例如:
select part_dt, sum(price) as total_sold, count(distinct buyer_id) as buyers from kylin_sales group by part_dt order by part_dt
6.您可以验证查询结果且与 Hive 的响应时间进行比较;
hive用时2.545s, 第二次2.602s
cube用时1.09s, 第二次0.01s