kylin 编译(kylin-3.0.x-hadoop3.1)解决kylin 404错误

题外话

kylin编译过程真的是太苦涩了,塌了无数坑,耗时无数。大概因为我是第一次编译源码。真的是感受深刻,学习颇多。最后还把HBASE编译了一遍,如果你的kylin安装好了运行不报错,就是打开网页报404错误,大概率是HBASE出了问题。我绕了一大圈最后发现是HBASE的问题。

kylin运行环境

hadoop 3.1.3
hive 3.1.2
HBASE 2.2.4
zookeeper 3.5.7

kylin 编译过程

1.去kylin GitHub上下载分支kylin-3.0.x-hadoop3.1源码

下载地址:https://github.com/apache/kylin

2.导入idea修改pom.xml

<guava.version>27.0-jre</guava.version>
原生版本是14.0,直接在centos7 编译后运行会报错,要改成和hadoop3.1.13中的guava版本一致。其他不用改。maven下载包 又花了超多时间。真的是难受哇。

3.修改于guava相关框架一些的方法

由于guava 27.0 版本与14版本相差太多,老版本的一些方法用不了。这个过程也可真是要命。尚硅谷的老师有说过,但是一笔带过了。要去对照两个版本修改源码,新版本的有些方法被private了,老版本还在使用。最难受的是新版本里面没有与之替换的新方法。改了好几天老是改不对,要了老命了。后面参考kylin最新版本,水到渠成。因为kylin最新版本里面Test采用了guava 28.0 版本。
idea报错代码改动
Objects.toStringHelper →MoreObjects.toStringHelper
putString →putUnencodedChars
new Stopwatch() →Stopwatch.createUnstarted()
elapsedMillis() →elapsed(TimeUnit.MILLISECONDS)
Iterators.emptyIterator() →Collections.emptyIterator()
toImmutableSet() →toSet();
hashString →hashUnencodedChars
至此 所有错误改完了。

4.kylin build in centos7

参考链接:http://kylin.apache.org/cn/development/howto_package.html
编译环境安装参考:
https://blog.csdn.net/weixin_42536586/article/details/108446512

特别注意要设置代理(需要网络环境能上谷歌),不然bower 环节会出错,即
export http_proxy=http://your-proxy-host:port
npm config set proxy http://your-proxy-host:port

如果遇到maven checkstyle的错误,编译的时候设置-Dcheckstyle.skip=true跳过。
编译完成后会出现一个dist的文件夹,安装包在里面。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值