目录
前言
一、Docker容器支持
二、Doris编译步骤
1.拉取镜像
2.构建Docker编译容器
3.下载源码并编译
前言
本文档主要介绍如何通过源码在Docker编译 Doris,以及部署。
一、Docker容器支持
Docker教程:Docker & Docker-Compose 安装教程 - 知乎。
二、Doris编译步骤
1.拉取镜像
拉取指定版本的docker compose image
docker pull apache/doris:build-env-for-2.0
2.构建Docker编译容器
代码如下:
1.java下载文件 宿主机root下的.m2 对应容器的 /root/.m2
2.宿主机文件/opt/apache-doris 对应容器同目录
3.容器名 doris-compose
docker run -it --name doris-compose -v /root/.m2:/root/.m2 -v /opt/apache-doris:/opt/apache-doris apache/doris:build-env-for-2.0
4.执行完毕后 docker ps查看镜像
3.下载源码并编译
1.进入容器
docker exec -it doris-compose bash
2.启动镜像后,你应该已经处于容器内,进入/opt/apache-doris 可以通过以下命令下载 Doris 源码(已挂载本地源码目录则不用),拉取并进入容器源码目录doris
git clone https://github.com/apache/doris.git && cd ./doris
3.切换tag分支 选择对应2.0的tag分支进行切换,这里选用 2.0.4-rc06
git fetch origin --tags && git checkout 2.0.4-rc06
4.编译 Doris
先通过以下命令查看编译机器是否支持avx2指令集,有返回下图所示证明支持
cat /proc/cpuinfo | grep avx2
注意:
如果你是第一次使用 build-env-for-0.15.0
或之后的版本,第一次编译的时候要使用如下命令:
原因:这是因为 build-env-for-0.15.0 版本镜像升级了 thrift(0.9 -> 0.13),需要通过 --clean 命令强制使用新版本的 thrift 生成代码文件,否则会出现不兼容的代码。编译会下载大量jar,建议更换maven镜像,whereis maven 查询maven目录,进入maven目录修改setting文件,加上阿里云镜像。
sh build.sh --clean --be --fe
或者指定多少核心来编译,我是八核,选择7核心来编译
sh build.sh -j7 --clean --be --fe
如果支持avx2,可不加 USE_AVX2=0 ,直接进行编译
sh build.sh
不支持则使用以下命令进行编译
USE_AVX2=0 sh build.sh
如需编译Debug版本的BE,增加 BUILD_TYPE=Debug
BUILD_TYPE=Debug sh build.sh
编译成功后
注:以上是手动编译打包学习。以下是使用官方工具进行集群部署。
三、Manager 部署
参考文档,SlectDB文档 SelectDB Enterprise 介绍 | SelectDB
安装文件下载地址 SelectDB Enterprise下载-SelectDB
下载一
下载二
部署教程 -- 【10. Manager 部署】 Manager
1FE节点 3从BE节点 本地测试环境,4台 8核16g linux centos7