【安装部署】手动编译 Doris 安装包


Administrator
飞致云 发布于 2022-05-06 / 616 阅读 / 0 评论 /
Doris官方提供了容器环境进行编译,省去了手动搭建编译环境的操作,开箱即用,更加便捷。本文将介绍使用官方提供的编译环境容器(incubator-doris)进行安装包编译。1 运行编译环境容器incubator-doris准备Linux系统预装docker环境,运行incubator-doris容

Doris 官方提供了容器环境进行编译,省去了手动搭建编译环境的操作,开箱即用,更加便捷。

本文将介绍使用官方提供的编译环境容器(incubator-doris)进行安装包编译。

1 运行编译环境容器 incubator-doris

准备 Linux 系统预装 docker 环境,运行 incubator-doris 容器

docker run -it -d \
-v /opt/.m2:/root/.m2 \
-v /opt/doris-0.15.0/:/root/doris-0.15.0/ \
apache/incubator-doris:build-env-ldb-toolchain-latest

建议以挂载本地 Doris 源码目录的方式运行镜像,这样编译的产出二进制文件会存储在宿主机中,不会因为镜像退出而消失。

同时,建议同时将镜像中 maven 的 .m2 目录挂载到宿主机目录,以防止每次启动镜像编译时,重复下载 maven 的依赖库。

2 进入 incubator-doris

docker exec -it determined-gates bash

3 下载 doris 源码

cd /root/doris-0.15.0
git clone https://github.com/apache/incubator-doris.git
# 如果Github网络受影响,可以登录web页面下载zip压缩包,拷贝至容器中。
# https://codeload.github.com/apache/incubator-doris/zip/refs/heads/master

4 切换时区

#使用tzselect选择时区,然后执行以下命令使其生效
echo "TZ='Asia/Shanghai'
export TZ" >> /etc/profile
source /etc/profile

默认容器内的时区是 UTC,如果不修改时区直接编译源码,运行 doris 的服务器是 CST 时区,启动 doris 时会报错。

换言之:编译环境的时区要与运行环境的时区一致。

5 切换 JDK 版本

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

默认使用 OpenJDK 11 编译。确保编译使用的 JDK 版本和运行时使用的 JDK 版本一致,否则会导致非预期的运行错误,这里我们统一为 JDK8 版本。

6 编译

编译 be/fe

sh build.sh --clean --be --fe

编译 broker

cd fs_brokers/apache_hdfs_broker/
./build.sh

Broker 是 Doris 集群中一种可选进程,主要用于支持 Doris 读写远端存储上的文件和目录,如 HDFS、BOS 和 AFS 等。

编译完成后,产出文件在 output/ 目录中,便是可执行的 doris 程序。

因为做了容器目录挂载,在宿主机的 /opt/doris-0.15.0 目录可以看到容器的该目录。



是否对你有帮助?