apache doris源码编译(全) fe be broker

服务器准备好maven和docker

本机安装好maven,找到maven仓库位置 我这里是 /root/.m2 本机安装好docker.

下载源码

官网源码下载 http://doris.incubator.apache.org/zh-CN/downloads/downloads.html#doris-%E4%B8%BB%E4%BB%A3%E7%A0%81

本机下载源码,解压。 apache-doris-0.15.0-incubating-src.tar.gz 我这里解压内容到此目录下,/opt/servers/incubator-doris-DORIS-0.15.0-release

接下来,需要一个环境(dockers环境),dockers环境用来编译上面的源码。注意:这不是doris的安装环境,只是编译源码的环境。

docker编译环境准备

拉取docker镜像

docker pull apache/incubator-doris:build-env-for-0.15.0

运行镜像 (挂载宿主机的mavern仓库位置;挂载宿主机的源码解压内容位置)

挂载maven路径和源码路径

docker run -it 
-v /root/.m2:/root/.m2 
-v /opt/servers/incubator-doris-DORIS-0.15.0-release:/root/incubator-doris-DORIS-0.15.0-release 
apache/incubator-doris:build-env-for-0.15.0 ;

注:这里挂载了maven仓库位置和源码位置。宿主机共享了这两个位置给docker容器。 上面指令运行后,自动进入了docker容器内。 在容器内。

容器内执行编译(切换jdk、指令集)

在docker内进入到 build.sh文件所在目录。开始编译。 切换到自己将要运行的jdk版本。 容器内默认是jdk11。 我这里是1.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

查看编译机器是否支持avx2指令集

cat /proc/cpuinfo | grep avx2

#第一次编译,需要加参数 --clean --be --fe --ui 二选一 如果不支持avx2指令集。执行下面编译指令

USE_AVX2=0  sh build.sh  --clean --be --fe --ui

如果支持avx2指令集。执行下面编译指令

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

如下编译成功

编译完成后,be fe安装包 在 output/ 目录中。 上面是fe 和be的编译。已经可以安装使用了。

额外的

broker插件编译

有时候我们需要用上broker功能,加载hdfs上的数据。broker类似插件的形式。它也是需要单独编译的。

进入 fs_brokers/apache_hdfs_broker目录下。 执行编译

sh build.sh

同样,在同路径下output 会生成需要的。

经验分享 程序员 微信小程序 职场和发展