`

kylin 搭建和简单测试结果

 
阅读更多

 

0 概念:

 

 这里的kylin是 OLAP的范畴,是ebay上海研发团队研发的一个多维存储的产品,目的是为了

  解决hbase紧依靠rowkey来快速查询的局限, 其核心是 空间换时间, 不是国产linux的kylin操作系统

 

1 说明:

 

1 使用apache原生,这里搭建成功的版本为: (kylin官网建议使用 hotonworks sandbox 而且看kylin/bin的文件也都有sandbox的痕迹 这里我使用apache 原生版本)
apache-kylin-0.7.1
apache-hive-0.14.0
hadoop-2.2.0
hbase-0.98.12
zookeeper-3.4.5


2其中一些说明如下,
0 jdk1.7版, 使用物理机器为 172.17.199.11  172.17.199.12  172.17.199.13 
1 必须是 hadoop-2.2.0版本, 必须是hive0.14以上版本(kylin maillist建议是这样)
2 hive解压后的命名必须为hive ----> 可以看kylin/bin/find-hive-dependency.sh 22行代码, 
3 建议机器为8G内存,如果是用虚拟机搭建单机环境,那么虚拟机建议给到5G+内存,否则可能kylin启动有问题,比如页面无法访问,或者bulid sample时候死机
4 建议kylin.sh中 手动导出 kylin_home 可以查看我上次的附件 kylin.sh第二行

然后,必须启动的服务有:
1 hadoop2的hdfs yarn 以及 jobhistory
2 hive --service metastore &
3 zookeeper
4 hbase
5 kylin 
6 如上几项必须设置在集群每台机器的环境变量中

 

 

2 集群生态分布如下:

 

集群搭建在 172.17.199.11,  172.17.199.12,  172.17.199.13上,三台机器内存都是64G

集群生态分布如下:

 

hadoop2.2.0

 

机器 角色 启动的服务
172.17.199.11 主节点

Namenode

SecondaryNameNode

JobHistoryServer

ResouceManager

172.17.199.12 从节点

DataNode

NodeManager

172.17.199.13 从节点

DataNode

NodeManager

 

 

Zookeeper-3.4.5

 

机器 启动的服务
172.17.199.11 QuorumPeerMain
172.17.199.12 QuorumPeerMain
172.17.199.13 QuorumPeerMain

 

 

Hbase-0.98.12

 

机器 启动的服务
172.17.199.11 HMaster
172.17.199.12 HRegionServer
172.17.199.13 HRegionServer

 

 

Hive-0.14.0

机器 启动的服务
172.17.199.11

hive客户端

hive metastore

 

 

Kylin-0.7.1

 

机器 启动的服务
172.17.199.11 kylin服务

 

3 集群安装前的说明:

 

1 保证11,12,13 ssh三台互通,关闭防火墙,设置好机器别名,以及机器别名和IP地址映射


2 配置好后的 /etc/profile如下:
export JAVA_HOME=/usr/java/jdk1.7.0_71
export PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export HADOOP_HOME=/home/forkylin/hadoop-2.2.0
export HIVE_HOME=/home/forkylin/hive
export KYLIN_HOME=/home/forkylin/kylin-0.7.1
export HBASE_HOME=/home/forkylin/hbase-0.98.12
export ZOOKEEPER_HOME=/home/forkylin/zookeeper-3.4.5

export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$KYLIN_HOME/bin:$HBASE_HOME/bin:$ZOOKEEPER_HOME/bin
export JAVA_HOME CLASSPATH


 

 

4 hadoop集群安装:

  hadoop2集群非ha模式下搭建配置文件写法  

主要是mapred-site.xml   yarn-site.xml 下mb内存的设置,如果不设置,在部署后kylin查询时,会卡死

 

   配置好环境变量后启动hadoop集群,涉及到的命令:

  start-all.sh    mr-jobhistory-daemon.sh start historyserver

 

5  安装zookeeper集群:

 

 参考链接 Zookeeper 简介 搭建

 配置好环境变量后,启动时执行命令  zkServer.sh start

 

6 安装hbase集群:

 

参考链接 hbase简介 搭建 

配置好环境变量后,启动时执行命令  start-hbase.sh

 

7 安装hive:

参考链接:0 hive 简介,安装,本地文件上传到hive操作

注意 解压后必须重命名为 hive 

配置好环境变量后,启动时执行命令  hive -service metastore &

然后启动hive 查看hive客户端下能否查看表 创建表

 

8 安装kylin:

 

 

 

 

 

 

 

 

 8.1 安装

a) 下载kylin到11节点, 这里解压到 /home/forkylin/kylin-0.7.1下
b) /home/forkylin/kylin-0.7.1/bin下 修改kylin.sh 显示声明 kylin_home,并在HBASE_CLASSPATH_PREFIX中显示增加$hive_dependency依赖,修改信息如下:
export KYLIN_HOME="/home/airsupply/develope/kylin-0.7.1" 第二行
第35行
export HBASE_CLASSPATH_PREFIX=${tomcat_root}/bin/bootstrap.jar:${tomcat_root}/bin/tomcat-juli.jar:${tomcat_root}/lib/*:$hive_dependency:$HBASE_CLASSPATH_PREFIX
c) 配置kylin的环境变量

 

8.2 启动

命令行任意位置下执行  kylin.sh start

可以通过 netstat -anp | grep 7070 查看(kylin默认使用7070端口)

也可以 tail -f /home/forkylin/kylin-0.7.1/tomct/logs 查看启动信息

启动成功后,访问 http://hadoop1:7070/kyliln/   用户名 ADMIN  密码 KYLIN

 

8.3 kylin执行官网案例测试

 

a) 执行kylin.sh stop
b) /home/forkylin/kylin-0.7.1/bin下执行 sample.sh  将kylin测试数据写到hive中
c) 执行kylin.sh start
此时在Hive下能看到kylin导入的表,  kylin_cal_dt   kylin_catagory_groups   kylin_sales
d) 访问http://hadoop1:7070/kyliln/cubes 界面如下:

 



 

 选择 actions下的build选择框,后选择截止日期,提交job,

访问

http://hadoop1:7070/kylin/jobs 可以看到你刚提交的job, 此时kylin会把任务转交给mr

通过 tail -f /home/forkylin/kylin-0.7.1/tomcat/logs.kylin_job.log 事实查看 build日志信息

 

一般 build一个20G的数据,在上面这个集群下 跑了10小时, build上面kylin提供的sample案例 耗时2小时

build结果为:



 

 

9 注意事项:

 

a) 需要把11节点(别名hadoop1)上的hive目录拷贝到 12,13节点上,并在 12,13节点的 /etc/profile上显示导出

export hive_dependency=/home/forkylin/hive/conf:/home/forkylin/hive/lib/*:/home/forkylin/hive/hcatalog/share/hcatalog/hive-hcatalog-core-0.14.0.jar
 因为kylin提交的任务交给mr后,hadoop集群将任务分发给从节点时,需要hive的依赖信息,因此需要在12,13上配置,否则mr任务报错为: hcatalogXXX找不到
 
 
 b) 如果启动kylin时候  tomcat日志说无法解压 kylin.war 处理方式:
 /home/forkylin/kylin-0.7.1/tomcat/work/Catalina下的东西清空,  
 ps -ef | grep java 后 kill -9 杀死所有kylin相关的进程(此时会把hadoop hive hbase zk都干掉)  然后再重启
 一般都是因为启动的kylin过多,但是每次关闭的kylin都没有关闭死造成启动过多kylin造成的。
 
 也可以通过  netstat -anp | grep 7070 查看7070被占用了多少次 如果过多 那么应该就是上面方式造成的,关闭多余的在重启,保证只有一个端口被占用

 

 

 

10 简单测试结果如下:

 

百万数据量下,在上面集群构建立方耗时800多min,物化文件28G

 

一个维度下,查询结果998949条,耗时:

oracle 16s

kylin   30s

 

按时间一个维度 查询结果65条 耗时:

 

oracle 23s

kylin   0.25s

 

按时间,行情两个维度 查询结果77025条 耗时:

 

oracle 19s

kylin   3.7s

 

按时间,科目两个维度 查询结果40625条 耗时:

 

oracle 40s

kylin   2.8s

 

按时间,机构,科目三个维度 查询结果20315条 耗时:

 

oracle 44s

kylin   9.2s

 

 

 

kylin的响应时间和实际返回条数成正比,在单维度查询下,针对oracle没有优势,

kylin更适合高度范化的聚合数据查询,不合适明细数据查询。

 

 

 11 修改的kylin.sh文件贴上如下:

 

#!/bin/sh
export KYLIN_HOME="/home/airsupply/develope/kylin-0.7.1"
if [ $1 == "start" ]
then
    dir=$(dirname ${0})
    source ${dir}/check-env.sh
    tomcat_root=${dir}/../tomcat
    export tomcat_root


    #The location of all hadoop/hbase configurations are difficult to get.
    #Plus, some of the system properties are secretly set in hadoop/hbase shell command.
    #For example, in hdp 2.2, there is a system property called hdp.version,
    #which we cannot get until running hbase or hadoop shell command.
    #
    #To save all these troubles, we use hbase runjar to start tomcat.
    #In this way we no longer need to explicitly configure hadoop/hbase related classpath for tomcat,
    #hbase command will do all the dirty tasks for us:



    useSandbox=`cat ${KYLIN_HOME}/conf/kylin.properties | grep 'kylin.sandbox' | awk -F '=' '{print $2}'`
    spring_profile="default"
    if [ "$useSandbox" = "true" ]
        then spring_profile="sandbox"
    fi

    #retrive $hive_dependency
    source ${dir}/find-hive-dependency.sh
    #retrive $KYLIN_EXTRA_START_OPTS
    if [ -f "${dir}/setenv.sh" ]
        then source ${dir}/setenv.sh
    fi

    export HBASE_CLASSPATH_PREFIX=${tomcat_root}/bin/bootstrap.jar:${tomcat_root}/bin/tomcat-juli.jar:${tomcat_root}/lib/*:$hive_dependency:$HBASE_CLASSPATH_PREFIX
    export HBASE_CLASSPATH=$hive_dependency:${HBASE_CLASSPATH}
    export JAVA_OPTS="-Xms2048M -Xmx2048M -XX:MaxPermSize=512m"

    hbase ${JAVA_OPTS} ${KYLIN_EXTRA_START_OPTS} \
    -Djava.util.logging.config.file=${tomcat_root}/conf/logging.properties \
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
    -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true \
    -Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true \
    -Djava.endorsed.dirs=${tomcat_root}/endorsed  \
    -Dcatalina.base=${tomcat_root} \
    -Dcatalina.home=${tomcat_root} \
    -Djava.io.tmpdir=${tomcat_root}/temp  \
    -Dkylin.hive.dependency=${hive_dependency} \
    -Dspring.profiles.active=${spring_profile} \
    org.apache.hadoop.util.RunJar ${tomcat_root}/bin/bootstrap.jar  org.apache.catalina.startup.Bootstrap start > ${tomcat_root}/logs/kylin.log 2>&1 & echo $! > ${KYLIN_HOME}/pid &
    echo "A new Kylin instance is started by $USER, stop it using \"kylin.sh stop\""
    if [ "$useSandbox" = "true" ]
        then echo "Please visit http://<your_sandbox_ip>:7070/kylin to play with the cubes! (Useranme: ADMIN, Password: KYLIN)"
    else
        echo "Please visit http://<ip>:7070/kylin"
    fi
    echo "You can check the log at ${tomcat_root}/logs/kylin.log"
    exit 0
elif [ $1 == "stop" ]
then
    if [ ! -f "${KYLIN_HOME}/pid" ]
    then
        echo "kylin is not running, please check"
        exit 1
    fi
    pid=`cat ${KYLIN_HOME}/pid`
    if [ "$pid" = "" ]
    then
        echo "kylin is not running, please check"
        exit 1
    else
        echo "stopping kylin:$pid"
        kill $pid
    fi
    rm ${KYLIN_HOME}/pid
    exit 0
else
    echo "usage: kylin.sh start or kylin.sh stop"
    exit 1
fi

 


 12 附加资料

 

附:
http://www.kylin.io/  :   kylin 官网首页
https://github.com/KylinOLAP/Kylin  :  kylin github首页
https://github.com/KylinOLAP/Kylin/blob/master/docs/Installation/On%20Hadoop%20CLI%20installation.md :  在hadoop基础上安装
https://github.com/KylinOLAP/Kylin/blob/master/docs/Tutorial/Quick%20play%20with%20a%20sample%20cube.md : Quick start with sample cube 运行案例
https://github.com/KylinOLAP/Kylin/issues/   kylin问题列表 , 比如 https://github.com/KylinOLAP/Kylin/issues/462
http://kylin.markmail.org/   通过这里可以查询kylin mailing list中所有提问的问题

kylin如果有使用中的问题,kylin只支持订阅他们的邮件 并通过邮件方式来解答,如果你在github上提问 他们是不会回答实质问题的,
订阅kylin的mailing list做法如下:
send any message to dev-subscribe@kylin.incubator.apache.org, then your'll subscribe our mail list.(there might be another confirming letter)
这里我用126邮箱发送但是无法接收到他们的回复邮件,最后用qq邮箱发送才能接收到到他们的回复邮件,根据回复邮件的提示,点击链接,后才能订阅成功
在订阅成功后,你就可以发送问题到dev@kylin.incubator.apache.org,到时候 他们会一对一的回复你的问题。
 

他们的回复邮件如下:
Hi! This is the ezmlm program. I'm managing the
dev@kylin.incubator.apache.org mailing list.

I'm working for my owner, who can be reached
at dev-owner@kylin.incubator.apache.org.

To confirm that you would like

   190184XXX@qq.com

added to the dev mailing list, please send
a short reply to this address:

   dev-sc.1431910996.pdgjekoiembmaillpnpm-190184501=qq.com@kylin.incubator.apache.org

 

 

 

 

  • 大小: 246.1 KB
  • 大小: 250.9 KB
分享到:
评论
3 楼 Will_forme 2015-12-04  
你好  最近在使用kylin的时候有点疑问,我安装这些都没问题,但是我在建立一个cube,然后build之后,这个cube的结果放在哪里的呢?就是hbase生成的几张表吗,你有没有出现过cube生成的sql在它自己的query中查询报错,但是在hive里面查询没错?希望不吝赐教
2 楼 chengjianxiaoxue 2015-08-12  
xjcuiok 写道
请教一个kylin(ver:0.7.1与你文中一致)的安装问题,你的测试环境安装ldap服务了嘛?
我在测试环境安装后,刚开始提示缺少ldap的相关错误。我通过查阅资料,在~/conf/kylin.properties中的kylin.sandbox属性改变后,tomcat日志不再报错。但是我输入:http://xxx.xxx.xxx.xxx:7070/kykin 后,页面显示:Welcome to kylin! 而且不是官方文档上写的输出账号密码!如果看到请你指点一下,不胜感激!
我email: cui_jie0928@163.com 期待您的邮件!




你好,
1 我搭建kylin的时候,没有安装ldap服务,搭建环境是干净的裸机,
文档的描述基本和我搭建过程一致,没有在安装更多服务。

2 搭建时,出现过没有登录界面的问题,也出现过tomcat无法启动的问题,
我那会的做法是看tomcat日志,或者删除解压后kylin后在重新解压和修改配置文件,
注意,通过  netstat -anp | grep 7070 可以讲所有kylin相关的服务查看并杀死,
有时候启动过多kylin 而没有杀死掉,会导致无法访问登陆页面的问题

我知道的就是这些,请在讨论,希望你能顺利解决

并, 建议订阅他们的邮件,对方会给你回复,我之前没有订阅也是自己搞的头晕...
1 楼 xjcuiok 2015-08-11  
请教一个kylin(ver:0.7.1与你文中一致)的安装问题,你的测试环境安装ldap服务了嘛?
我在测试环境安装后,刚开始提示缺少ldap的相关错误。我通过查阅资料,在~/conf/kylin.properties中的kylin.sandbox属性改变后,tomcat日志不再报错。但是我输入:http://xxx.xxx.xxx.xxx:7070/kykin 后,页面显示:Welcome to kylin! 而且不是官方文档上写的输出账号密码!如果看到请你指点一下,不胜感激!
我email: cui_jie0928@163.com 期待您的邮件!

相关推荐

    apache kylin 搭建笔记

    Kylin 环境搭建是一个复杂的过程,需要逐步配置和测试。本文将指导读者从头开始搭建 Apache Kylin 环境,包括下载和安装、环境变量配置、kylin.properties 配置、启动和访问 WebUI、加载 sample 数据、创建模型和 ...

    kylin 搭建指南及配置demo

    《Kylin搭建指南及配置详解》 Kylin是一款开源的分布式分析引擎,专为Apache Hadoop设计,用于提供亚秒级的SQL查询性能,以及大规模的数据集分析能力。本指南将详细阐述如何搭建Kylin环境,并解决在配置过程中可能...

    kylin 测试数据

    测试数据的使用对于理解和优化Kylin的性能至关重要,它可以帮助我们更好地理解和掌握Kylin在实际应用中的表现。在实际工作中,合理地运用测试数据,可以确保Kylin系统在复杂业务场景下稳定高效运行。

    kylin资源包(hbase安装,kylin安装,安装测试题)

    3. **查询性能测试**:通过创建简单的Cube,执行SQL查询,评估Kylin的响应时间和结果准确性。 4. **故障排查**:模拟常见问题,如网络中断、服务异常,考察对问题定位和解决的能力。 这个资源包将是你学习和实践...

    Windows下Qeum Arm搭建的kylin虚拟机网盘地址.txt

    我们接触的国产系统和国产硬件也在不断的增多,忍不住的吐槽,现在的硬件是真的倒退了好多年,而且也特别的贵,但是为支持国产,我们也需要更多的进行国产化的适配和学习,linux下搭建比较简单,windows则比较复杂,...

    Kylin安装学习教程_KYLIN_

    Apache Kylin是一个开源的、企业级的大数据分析平台,专为Hadoop生态系统设计,用于提供亚秒级的SQL查询性能,即使...通过这个学习教程,你将逐步掌握如何在Hadoop环境中搭建和使用Kylin,从而提升你的大数据分析效率。

    读写分离的Kylin多维分析平台的搭建.docx

    可以创建一个简单的Cube,导入数据,然后执行SQL查询,检查查询性能和结果的准确性。如果一切顺利,样例测试应能成功通过,这标志着读写分离的Kylin多维分析平台搭建完成。 总的来说,搭建一个读写分离的Kylin多维...

    Kylin内网更新源的搭建

    Kylin内网更新源的搭建

    kylin简单介绍

    Kylin 的元数据管理和 Cube 构建过程都是通过 Hive 和 MapReduce 实现的。Hive 用于存储和读取源数据,MapReduce 用于执行复杂的聚合计算和连接操作,生成预计算的结果,并将其存储到 HBase 中。HBase 是一个非关系...

    Apache Kylin安装部署

    ### Apache Kylin安装部署知识点详解 #### 一、Apache Kylin简介 Apache Kylin是一款开源的分布式分析引擎,它能够为Hadoop...通过这些知识点的学习,可以帮助您更好地理解和掌握Apache Kylin的使用方法和技术细节。

    apache kylin操作使用教程

    在操作使用Kylin之前,需要了解的是Kylin依赖于Hadoop集群,同时需要安装Hive和HBase。由于Kylin的数据立方体构建是基于Hive中的事实表和维度表的,因此在使用Kylin之前,你的Hive中需要有数据表存在。 文档中提到...

    Kylin安装包、安装文档

    Kylin通过预计算(Cube)的方式,将复杂的SQL查询转化为简单的数据检索,极大地提高了数据分析的效率。它支持多种数据源,如Hive、HBase,并且能够与多种BI工具(如Tableau、Excel等)进行集成,为用户提供了一站式...

    Kylin安装测试需要的数据文件.rar

    这个压缩包文件包含了进行Kylin测试环境搭建和功能验证所需的特定数据。 描述中提到的链接指向了一篇CSDN博客文章,文章详细介绍了如何进行Kylin的安装和配置。根据这个描述,我们可以推断这个压缩包可能包含如下...

    基于Apache Kylin 构建大数据分析平台

    基于Apache Kylin 构建大数据分析平台,这本书挺不错的

    基于 Hudi 和 Kylin 构建准实时高性能数据仓库.pdf

    本实践方案主要探讨如何利用 Apache Hudi 和 Apache Kylin 这两个开源项目,来搭建这样一个系统。Apache Hudi 是一个面向大数据湖的文件系统,旨在支持数据更新和删除,而 Apache Kylin 是一个高性能的开源 OLAP ...

    Kylin on Parquet.pdf

    Kylin on Parquet的出现,不仅改变了存储方式,更重要的是改变了Kylin的计算和存储分离策略,使得系统能够更好地适应各种大数据场景。Parquet是一种面向列的存储格式,特别适合做数据分析。 #### Kylin的架构 Kylin...

    尚硅谷大数据技术之Kylin1

    Kylin 将数据模型中的所有字段分类为维度和度量,然后根据维度和度量做预计算,生成 Cuboid,最后将所有维度组合的 Cuboid 作为一个整体,称为 Cube。这样可以提高查询性能,实现超大规模数据的分析。 Kylin 的...

    --Kylin在58集团的实践和应用.pdf

    具体到58集团的实践中,Kylin的使用让公司能够处理大量数据集,通过构建的立方体能够快速响应复杂的查询请求,进而为用户提供更加精准和及时的服务,比如更精确的搜索结果和推荐。此外,Kylin的使用还可以帮助58集团...

Global site tag (gtag.js) - Google Analytics