Apache Kylin是一种OLAP查询引擎,支持PB级别数据,通过对大数据对预处理,以达到用空间换时间对目标,使得查询响应可以达到亚秒,符合业务快速查询分析对需求。

Apahce支持将Hive,Kafka等作为数据源。

本文的Apache Kylin安装使用过程中,将Hive最为离线数据源,并在最后做了Apache Kylin和Hive的简单对比。

安装环境说明:

软件版本
java1.8.0_65
Hadoop2.7.3
ZooKeeper3.4.13
HBase1.2.6
hive1.2.2
MySQL5.5.62-0ubuntu0.14.04.1 (Ubuntu)
LinuxUbuntu 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

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

        <property>

                <name>javax.jdo.option.ConnectionURL</name>

                <value>jdbc:mysql://localhost:3306/hive</value>(mysql地址localhost)

        </property>

        <property>

                <name>javax.jdo.option.ConnectionDriverName</name>(mysql的驱动)

                <value>com.mysql.jdbc.Driver</value>

        </property>

        <property>

                <name>javax.jdo.option.ConnectionUserName</name>(用户名)

                <value>root</value>

        </property>

        <property>

                <name>javax.jdo.option.ConnectionPassword</name>(密码)

                <value>123456</value>

        </property>

        <property>

                <name>hive.metastore.schema.verification</name>

                <value>false</value>

        </property>

</configuration>

 

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://<hostname>:7070/kylin 进行访问。

初始用户名和密码是 ADMIN/KYLIN

 

kylin启动可能遇到的问题:

1.ZooKeeper连接报错

问题分析: 这是由于端口号2181在zk connectString里写了两遍,从而造成了zk:2181:2181的情况。

解决方法:

在$HBASE_HOME/conf/的文件夹下,修改hbase-site.xml的hbase.zookeeper.quorum,该项只需配置Host不需要配置端口号Port。

配置如下:

       <property>
                <name>hbase.zookeeper.quorum</name>
                <value>192.168.0.2,192.168.0.3,192.168.0.4</value>
        </property>
 

参考: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

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐