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 iddoris 版本
apache/incubator-doris:build-envbefore ff0dd0d0.8.x, 0.9.x
apache/incubator-doris:build-env-1.1ff0dd0d0.10.x, 0.11.x
apache/incubator-doris:build-env-1.24ef5a8c0.12.x - 0.14.x
apache/incubator-doris:build-env-1.3.1ad67dd30.14.x
apache/incubator-doris:build-env-1.4.124d3861 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
Logo

大数据从业者之家,一起探索大数据的无限可能!

更多推荐