Apache Doris编译
Apache Doris编译1、直接编译1.1、安装相关依赖[root@node1 module]# sudo yum groupinstall 'Development Tools' && sudo yum install maven cmake byacc flex automake libtool bison binutils-devel zip unzip ncurses-
Apache Doris编译
1、直接编译
1.1、安装相关依赖
[root@node1 module]# yum groupinstall 'Development Tools' && sudo yum install maven cmake byacc flex automake libtool bison binutils-devel zip unzip ncurses-devel curl git wget python2 glibc-static libstdc++-static java-1.8.0-openjdk
[root@node1 module]# yum install centos-release-scl
[root@node1 module]# yum install devtoolset-10
[root@node1 module]# echo "source /opt/rh/devtoolset-10/enable" >> /etc/profile
[root@node1 module]# source /etc/profile
1.2、编译 Apache Doris 源码
源码链接:https://github.com/apache/incubator-doris
编译源码:
执行源码中自带的编译脚本:
[root@node1 incubator-doris-master]# sh ./build.sh
编译时可能会报错:Error: flex version (2.5.37) must be greater than or equal to 2.6.0
解决:直接yum install flex的方式安装的flex最高版本就是2.5.37,要更新到2.6.0以上版本需要下载flex安装包手动安装
Flex2.6.4下载链接:https://github.com/westes/flex/releases
下载后解压,到解压后的路径执行以下命令:
[root@node1 flex-2.6.4]# ./configure
[root@node1 flex-2.6.4]# make
[root@node1 flex-2.6.4]# make install
安装flex 2.6.4后继续执行doris编译脚本
编译时可能会有部分第三方依赖包下载链接失效,建议使用 Doris 的第三方下载仓库:
[root@localhost thirdparty]# export REPOSITORY_URL=https://doris-thirdparty-repo.bj.bcebos.com/thirdparty
[root@localhost thirdparty]# sh build-thirdparty.sh
下载后校验过程中可能会报错:CMake 3.1 or higher is required. You are running version 2.8.12.2
解决:下载CMake3.1以上版本,下载链接:https://github.com/Kitware/CMake/releases/download/v3.22.0-rc1/cmake-3.22.0-rc1.tar.gz
下载后解压文件,在解压文件路径下执行如下命令:
[root@node1 cmake-3.22.0-rc1]# ./bootstrap
[root@node1 cmake-3.22.0-rc1]# gmake
[root@node1 cmake-3.22.0-rc1]# gmake install
查看当前版本
[root@node1 cmake-3.22.0-rc1]# /usr/local/bin/cmake --version
移除之前的版本
[root@node1 cmake-3.22.0-rc1]# yum remove cmake -y
新建软连接
[root@node1 cmake-3.22.0-rc1]# ln -s /usr/local/bin/cmake /usr/bin/
查看当前版本
[root@node1 cmake-3.22.0-rc1]# /usr/local/bin/cmake --version
更新 CMake 之后继续执行
[root@node1 thirdparty]# sh build-thirdparty.sh
执行结束后执行
[root@node1 incubator-doris-master]# sh ./build.sh
1.3、编译过程中可能会遇到的问题
1.3.1、报错找不到libfl.so.2文件
解决:执行命令:find / -name libfl.so.2
找到该文件所在位置后将该路径添加到/etc/ld.so.conf文件中
添加后执行:ldconfig
[root@node1 lib]# find / -name libfl.so.2
/usr/local/lib/libfl.so.2
/opt/software/flex/flex-2.6.4/src/.libs/libfl.so.2
[root@node1 lib]# vim /etc/ld.so.conf
# 以下为添加内容
include ld.so.conf.d/*.conf
/opt/software/flex/flex-2.6.4/src/.libs/
[root@node1 lib]# ldconfig
1.3.2、npm 报错shasum check fail
1133 error Linux 3.10.0-327.el7.x86_64
1134 error argv "/usr/bin/node" "/usr/bin/npm" "install"
1135 error node v6.17.1
1136 error npm v3.10.10
1137 error shasum check failed for /tmp/npm-19425-026448b4/registry.npmjs.org/antd/-/antd-4.16.13.tgz
1137 error Expected: e9b9b4a590db28747aae1cab98981649a35880af
1137 error Actual: c590958cc464a5ac888453b594be9e9c28a74c46
1137 error From: https://registry.npmjs.org/antd/-/antd-4.16.13.tgz
1138 error If you need help, you may report this error at:
1138 error <https://github.com/npm/npm/issues>
1139 verbose exit [ 1, true ]
解决:
执行如下命令:
[root@node1 -]# npm config set registry 'http://registry.npmjs.org/'
[root@node1 -]# npm info underscore
2、Docker编译
[root@node1 doris]# docker pull apache/incubator-doris:build-env-1.3.1
不同Doris版本对应不同的镜像版本:
镜像版本 | commit id | doris 版本 |
---|---|---|
apache/incubator-doris:build-env | before ff0dd0d | 0.8.x, 0.9.x |
apache/incubator-doris:build-env-1.1 | ff0dd0d | 0.10.x, 0.11.x |
apache/incubator-doris:build-env-1.2 | 4ef5a8c | 0.12.x - 0.14.x |
apache/incubator-doris:build-env-1.3.1 | ad67dd3 | 0.14.x |
apache/incubator-doris:build-env-1.4.1 | 24d3861 or later | 后续的发布版本 |
如果下载特别慢的话,建议使用阿里云的镜像加速器,添加镜像加速器步骤如下:
①创建阿里云账号
②添加自己账号的阿里镜像加速器
检查镜像下载完成:
[root@node1 doris]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/apache/incubator-doris build-env-1.3.1 84af4b9b056d 5 weeks ago 3.54 GB
运行镜像:
[root@node1 doris]# docker run -it apache/incubator-doris:build-env-1.3.1
切换jdk 版本:
镜像中包含JDK 11 和8两个版本,默认使用11,切换到JDK 8:
[root@20ba0d267748 doris]# alternatives --set java java-1.8.0-openjdk.x86_64
[root@20ba0d267748 doris]# alternatives --set javac java-1.8.0-openjdk.x86_64
[root@20ba0d267748 doris]# export JAVA_HOME=/usr/lib/jvm/java-1.8.0
下载源码:
[root@20ba0d267748 doris]# git clone https://github.com/apache/incubator-doris.git
编译:
[root@20ba0d267748 doris]# sh build.sh
更多推荐