源码编译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,如图所示:
1)下载doris源码创建doris目录(mkdir doris-0.15),然后下载doris源码。执行过程如下所示:
[ ]
[ ]
[ ]
(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仓库目录
[ ]
Docker启动命令如下所示:
[root-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 doris
在 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个小时。
终于build完成了,显示如下界面。
编译之后输出至output目录,有3个子目录:be、fe、udf,只需要拷贝output目录到其他服务器即可。
[ ]
total 0
drwxr-xr-x 8 root root 77 Apr 18 02:44 be
drwxr-xr-x 9 root root 101 Apr 18 02:44 fe
drwxr-xr-x 4 root root 32 Apr 18 02:44 udf
退出Docker 容器,然后可以将output目录中的所有内容拷贝到另一个目录中,如/root/doris
,命令如下所示:
cp -r output/* /root/doris-0.15
output目录下,拷贝出来就是可以安装了。
五、编译Doris Broker
仍然需要先进入到docker容器内部,然后进入到doris broker源码目录:fs_brokers
,如图所示:
执行编译命令
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