ITPub博客

首页 > 数据库 > 数据库开发技术 > 使用docker编译Doris

使用docker编译Doris

原创 数据库开发技术 作者:毛毛小妖的笔记 时间:2022-03-20 13:10:42 0 删除 编辑

1. 下载Docker镜像


$ docker pull apache/incubator-doris:build-env-ldb-toolchain-latest

查看下载完成的镜像:

$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
apache/incubator-doris build-env-ldb-toolchain-latest ff06898af616 4 days ago 4.43GB

① 针对不同的Doris版本,需要下载相应的镜像版本。apache/incubator-doris:build-env-ldb-toolchain-latest 用于编译最新主干版本代码,会随主干版本不断更新。

② Apache Doris 0.15 版本起,后续镜像版本号将与 Doris 版本号统一。比如可以使用 apache/incubator-doris:build-env-for-0.15.0 来编译 0.15.0 版本。

Doris版本和镜像版本关系如下,可根据需要进行拉取。

Doris版本 镜像版本
0.8.x, 0.9.x apache/incubator-doris:build-env
0.10.x, 0.11.x apache/incubator-doris:build-env-1.1
0.12.x - 0.14.0 apache/incubator-doris:build-env-1.2
0.14.x apache/incubator-doris:build-env-1.3.1
0.15.0 apache/incubator-doris:build-env-for-0.15.0
master-latest apache/incubator-doris:build-env-ldb-toolchain-latest

注意:

① 从 build-env-1.3.1 的docker镜像起,同时包含了 OpenJDK 8 和 OpenJDK 11,并且默认使用 OpenJDK 11 编译。

② 请确保编译使用的 JDK 版本和运行时使用的 JDK 版本一致,否则会导致非预期的运行错误。

你可以使用在进入编译镜像的容器后,使用以下命令切换默认 JDK 版本。

切换到 JDK 8:

$ alternatives --set java java-1.8.0-openjdk.x86_64
$ alternatives --set javac java-1.8.0-openjdk.x86_64
$ export JAVA_HOME=/usr/lib/jvm/java-1.8.0

切换到 JDK 11:

$ alternatives --set java java-11-openjdk.x86_64
$ alternatives --set javac java-11-openjdk.x86_64
$ export JAVA_HOME=/usr/lib/jvm/java-11

2. 运行镜像


$ docker run -it -v /home/casey/.m2:/root/.m2 -v /opt/software/incubator-doris-DORIS-0.15.0-release/:/root/incubator-doris-DORIS-0.15.0-release/ apache/incubator-doris:build-env-for-0.15.0

① -v /home/casey/.m2:/root/.m2:将镜像中 maven 的 .m2 目录挂载到宿主机目录,以防止每次启动镜像编译时,重复下载 maven 的依赖库。

② -v /opt/software/incubator-doris-DORIS-0.15.0-release/:/root/incubator-doris-DORIS-0.15.0-release/:将镜像中的源码目录挂载到宿主机目录,这样编译的产出二进制文件会存储在宿主机中。

3. 下载源码


启动镜像后,你应该已经处于容器内。可以通过以下命令下载 Doris 源码

$ wget https://dist.apache.org/repos/dist/dev/incubator/doris/xxx.tar.gz
or
$ git clone https://github.com/apache/incubator-doris.git

4. 编译Doris


$ sh build.sh --clean --be --fe --ui

编译完成后,产出文件在 output/ 目录中。


原文作者:毛毛小妖的笔记;如有侵权,请联系管理员删除。

上一篇: 部署Doris
请登录后发表评论 登录
全部评论

注册时间:2019-04-04

  • 博文量
    70
  • 访问量
    46581