文档章节

Apache Kylin 安装使用问题

AlexPeng
 AlexPeng
发布于 2017/08/22 17:12
字数 1065
阅读 110
收藏 1

环境:

hbase 单独集群版本:1.0.0-cdh5.5.1 , 对应的hadoop版本:2.6.0-cdh5.5.1

hadoop 版本: 2.6.0-cdh5.9.0

hive 版本:1.1.0-cdh5.9.0

hcatlog 版本: 1.1.0+cdh5.9.0

kylin 版本: apache-kylin-2.0.0-bin-cdh57.tar.gz

 

1.  启动不了

    在kylin.out中看到 hadoop.tmp.dir 这个目录没有权限,导致启动不了, 原因是我之前用的root 用户启动一次kylin,后来切换用户导致的,赋权限就好。

 

2. hbase单独集群配置(最严重的一个问题)

    kylin中 kylin.storage.hbase.cluster-fs 这个配置未配置,虽然可以运行kylin,但是是个天坑,将公司80台hbase单独服务集群弄挂了,这里的原因没有细究,需要去问问kylin的大神。(推测可能是hbase客户端配置直接用zk的配置的,在请求的时候一台一台hbase机器地址获取写入数据,因为数据量比较大导致单台机器承受不住,最终一台一台机器弄挂)

    配置上面的参数,就必须要配置hbase的 kylin.storage.hbase.cluster-hdfs-config-file这个属性,指定hbase集群中hdfs的配置文件。

 

3.  hbase 版本问题

    由于官网提供的编译完成的二进制对应的版本有限,遇到的问题: 

    https://www.oschina.net/question/144320_2263656

    最终解决方法,请自行去官网下载2.0版本源码,根据自己的hbase版本编译打包。

    这个问题一般在查询阶段才会遇到。

 

4. cube第一步报错,内容如下:

java.lang.NullPointerException
	at org.apache.kylin.source.hive.CreateFlatHiveTableStep.getCubeSpecificConfig(CreateFlatHiveTableStep.java:100)
	at org.apache.kylin.source.hive.CreateFlatHiveTableStep.doWork(CreateFlatHiveTableStep.java:105)
	at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:113)
	at org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:57)
	at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:113)
	at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:136)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)

    网上说是 metadata 数据加载失败, 可以去在系统中reload metadata下就好。

    但中间遇到过好几次这样的问题,有时可以解决,有时候很顽皮, 具体原因不清楚。

    使用中发现,cube对应的model中的事实表,也即从hive 数据源中导入到kylin中的需要计算的表在完成Sync操作后,会发出一个job任务(做什么暂时不清楚,猜测是抽取表对应的文件),当这个任务执行不成功时第一步也会遇到这个问题。请确保该任务执行成功。

 

5. 执行计算的时候发生MR倾斜

    第一是字段维度设计有问题,请自行检查

    第二就是重新手动按自己的方式对kylin计算的hive中间表做数据切分,关闭自动文件合并的功能。

set mapreduce.job.reduces=500;

set hive.merge.mapredfiles=false;

INSERT OVERWRITE TABLE kylin_intermediate_track_view_cube_1ae062d7_1490_4ece_a1b8_2c3358f5fdd9 SELECT * FROM kylin_intermediate_track_view_cube_1ae062d7_1490_4ece_a1b8_2c3358f5fdd9 DISTRIBUTE BY RAND();

    设置reduce的计算个数,及重新切分表中的文件!上面的参数在cube执行中会打印出来, 后续自行copy按照表的数据量和集群资源,自行切分并安排合理的reduce的个数。

 

6. 权限问题

    如果你是单独hbase集群请保证运行的用户,在两边hdfs上对应目录的权限相同,且可自行赋权,我这边遇到的问题是,hbase集群hdfs上的目录是/user/kylin目录,kylin用户对当前目录是可以操作的,但当赋权操作时失败,问题是/user目录是root用户且是700权限,导致下面/user/kylin目录下面的文件当前用户不能自己赋权, 修改/user目录的权限为755 解决当前用户不能自行赋权的问题。

    

使用总结:

    1. 不支持原始数据明细查询

    2. 单维度数据21亿限制

    3. 查询限制于cube的设计,不是太灵活。

    4. 查询分组等计算的速度很快,大部分在1秒内。

    5. 分区时间字段格式支持有限。

    6. cube计算维度的膨胀,需要对业务精确分析,对维度组合进行剪枝。

    7. 跨segment的查询会比较慢。

    

参考: 

http://www.guardian.cool/2016/11/HBase%E7%8B%AC%E7%AB%8B%E9%9B%86%E7%BE%A4%E7%9A%84Kylin%E6%90%AD%E5%BB%BA%E9%97%AE%E9%A2%98%E8%AE%B0%E5%BD%95/

   

    

    

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
AlexPeng
粉丝 14
博文 23
码字总数 11982
作品 0
普陀
高级程序员
私信 提问
Apache Kylin v2.4.1 正式发布

Apache Kylin社区于日前宣布:Apache Kylin v2.4.1 正式发布!欢迎大家下载使用。 Apache Kylin 是一个开源的分布式分析引擎,提供 Hadoop 之上的 SQL 查询接口及多维分析(OLAP)能力,支持...

Kyligence
09/11
0
0
Apache Kylin v2.5.1 正式发布

Apache Kylin社区于日前宣布:Apache Kylin v2.5.1 正式发布!欢迎大家下载使用。 Apache Kylin 是一个开源的分布式分析引擎,提供 Hadoop 之上的 SQL 查询接口及多维分析(OLAP)能力,支持...

ApacheKylin
11/08
1K
0
Apache Kylin 1.5.3 正式发布

Apache Kylin社区非常高兴宣布Apache Kylin v1.5.3正式发布了。 Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由e...

LukeHan
2016/08/05
1K
0
Apache Kylin v1.5.1 正式发布

Apache Kylin社区非常高兴宣布Apache Kylin v1.5.1正式发布。 Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBa...

LukeHan
2016/04/13
2.7K
2
Apache Kylin v1.1 正式发布

Apache Kylin社区非常高兴宣布Apache Kylin v1.1 (incubating)正式发布. Apache Kylin一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最...

LukeHan
2015/11/02
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

使用Laya引擎开发微信小游戏(下)

本文由云+社区发表 6. 动画 6.1 创建伞兵对象 在src目录下创建一个新目录role,用来存放游戏中角色。 在role里创建一个伞兵Soldier.ts对象文件。 module role{ export class Soldier ex...

腾讯云加社区
13分钟前
0
0
移动PWA初探

在去年上海举办的2017谷歌开发者大会上,PWA作为会议的一个重要内容被推介,笔者作为参会嘉宾看了PWA的内容后,觉得这种技术会是未来移动发展的一个趋势。Google开发技术推广工程师Michael Y...

临江仙卜算子
17分钟前
0
0
Git工作原理

git跟传统的代码管理器(如svn)不同, 主要区别在于git多了个本地仓库以及缓存区,所以即使无法联网也一样能提交代码。 术语解释: 工作区间: 即我们创建的工程文件, 在编辑器可直观显示;...

Lienson
19分钟前
2
0
MySQL驱动对应Server版本、JDK版本

昨日生产上线,临时升级MySQL版本,导致连接不上。 应用JDK版本1.5 测试环境MySQL版本5.7 驱动版本5.1.40.jar 正常 生产环境MySQL版本8.0 驱动版本5.1.40.jar 连接不上 生产环境MySQL版本8.0...

zcjlq
21分钟前
10
0
千万级规模【高性能、高并发】互联网架构经验分羹

架构以及我理解中架构的本质 在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重 视 它 , 战术上又...

java知识分子
22分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部