vlambda博客
学习文章列表

源码编译Apache Dois 0.15 文末送上编译后的安装包

Apache Doris编译有两种方式,一种是Dock er开发镜像编译,一种是直接裸机编译,推荐使用Docker编译,可以避免大量的环境依赖问题。             

一、下载Docker开发编译镜像

针对不同的Dois版本,需要下载对应的镜像版本。当前,Doris最新release.版本是0.15.0。             

执行如下命令下载docker镜像

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

二、下载Apache Doris源码

当前Apache Doris最新release版本为0.15.0,如图所示:                               

源码编译Apache Dois 0.15 文末送上编译后的安装包

1)下载doris源码创建doris目录(mkdir doris-0.15),然后下载doris源码。执行过程如下所示:

 [root@node04 ~]# mkdir doris-0.15 [root@node04 ~]# cd doris-0.15 [root@node04 doris-0.15]#wget https://dlcdn.apache.org/incubator/doris/0.15.0-incubating/apache-doris-0.15.0-incubating-src.tar.gz --no-check-certificate

(2)解压执行如下命令进行源码包解压:

 [root@node04 doris-0.15]# tar vxf apache-doris-0.15.0-incubating-src.tar.gz

解压完成之后,如下所示:

[root@node04 doris-0.15]ls apache-doris-0.15.0-incubating-src apache-doris-0.15.0-incubating-src.tar.gz

三、启动Docker容器

需要做两个目录映射,一个是maven的repository目录,一个是doris源码目录,避免容器挂了之后之前下载或编译的内容丢失。

在用户家目录下新建maven仓库目录

 [root@node04 doris-0.15]# mkdir /root/.m2

Docker启动命令如下所示:

[root@node04 doris-0.15]# docker run -it -v /root/.m2:/root/.m2 -v /root/doris-0.15/apache-doris-0.15.0-incubating-src:/root/doris-0.15/apache-doris-0.15.0-incubating-src apache/incubator-doris:build-env-for-0.15.0

在 build-env-1.4.2 的docker镜像中,同时包含了 OpenJDK 8 和 OpenJDK 11,并且默认使用 OpenJDK 11 编译。

可以使用 java -version 命令查看,如上图所示。

请确保编译使用的 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

由于我们的运行时为JDK 8,因此切换到JDK 8环境。

四、编译Doris

现在准备妥当了,可以开始编译Apache Doris源码包了。

在进入docker容器之后,进入到/root/doris-0.15/apache-doris-0.15.0-incubating-src 源码映射目录中,执行编译命令。

$ /root/doris-0.15/apache-doris-0.15.0-incubating-src$ sh build.sh

开始漫长的编译过程,编译过程有点慢,大概需要2个小时。

源码编译Apache Dois 0.15 文末送上编译后的安装包

终于build完成了,显示如下界面。

源码编译Apache Dois 0.15 文末送上编译后的安装包

编译之后输出至output目录,有3个子目录:be、fe、udf,只需要拷贝output目录到其他服务器即可。

[root@a8b38a121ac4 apache-doris-0.15.0-incubating-src]# ll output/total 0drwxr-xr-x 8 root root 77 Apr 18 02:44 bedrwxr-xr-x 9 root root 101 Apr 18 02:44 fedrwxr-xr-x 4 root root 32 Apr 18 02:44 udf

源码编译Apache Dois 0.15 文末送上编译后的安装包

退出Docker 容器,然后可以将output目录中的所有内容拷贝到另一个目录中,如/root/doris,命令如下所示:

cp -r output/* /root/doris-0.15

output目录下,拷贝出来就是可以安装了。

五、编译Doris Broker

仍然需要先进入到docker容器内部,然后进入到doris broker源码目录:fs_brokers,如图所示:

源码编译Apache Dois 0.15 文末送上编译后的安装包

执行编译命令

# cd fs_brokers/apache_hdfs_broker # sh build.sh

broker的编译过程比较快,如图所示。

编译完成之后,可以看到生成的output目录。

现在可以退出docker 容器。在output目录下看到编译好的apache_hdfs_broker目录,拷贝出来即可。

cp -r output/* /root/doris-0.15/broker


附上编译后的 doris-0.15的安装包


链接:

https://pan.baidu.com/s/1i5O-C1HeDQeBkB0ACgkKhw?pwd=9n3g

提取码:9n3g