详细记录linux编译iceberg
前提
要在cdh(6.3.2)环境集成iceberg,根据官网文档,下载官网的依赖包以后,在hive运行后报以下错误,怀疑是jdk版本原因,官网使用jdk版本与集群环境不符。就开始自己编译。
- 集群环境:
名称 | 版本 |
---|---|
hive | 2.1.1(cdh) |
jdk | 1.8.0. |
- 报错信息
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. com/github/benmanes/caffeine/cache/Caffeine
编译环境
名称 | 版本 |
---|---|
系统版本 | CentOS Linux release 7.9.2009 (Core) |
jdk版本 | 1.8.0_141 |
安装相关组件
- 安装git
yum install git
- (可选)安装gradle
安装过程见附1,编译iceberg时会自动下载gredle。
下载iceberg源码
获取源码可用地址:
国内网站:https://gitee.com/mirrors/Iceberg
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。
原始仓库: https://github.com/apache/incubator-iceberg
下载时可选择自己所需版本。
mkdir ~/iceberg
cd ~/iceberg
git clone https://github.com/apache/iceberg.git
拉取代码有时会有换行符变化问题(LF变成了CRLF),可在拉取代码前执行以下命令:
执行命令:(提交和检出均不转换),然后再拉取。
git config --global core.autocrlf false
下载完成后如图:
开始编译
- 清理
./gradlew clean
- 打包
./gradlew build
- (打包时不想测试可执行)跳过测试打包
./gradlew clean build -x test -x integrationTest
- 打包开始后会下载Gradle,下载完成后开始打包,首次打包会下载相关依赖包,有些慢。如图:
编译完成
例:
附1
安装gradle
- 下载解压安装包
yum install wget unzip (安装工具包)
mkdir ~/gradle
cd ~/gradle
wget https://services.gradle.org/distributions/gradle-7.6.1-all.zip
unzip gradle-7.6.1-all.zip -d ./
- 配置环境变量
vim ~/.bash_profile
或者
Vim /etc/profile
添加以下内容(路径要修改)
export PATH=$PATH:/root/gradle/gradle-7.6.1/bin
添加完成后执行
source ~/.bash_profile
或者
source /etc/profile
- 验证
gradle -v
安装完成后编译iceberg,进入目录后执行以下命令即可
gradle clean build -x test -x integrationTest