惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Cloudflare Blog
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tailwind CSS Blog
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
博客园 - 司徒正美
V
Visual Studio Blog
G
Google Developers Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
aimingoo的专栏
aimingoo的专栏
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
S
SegmentFault 最新的问题
T
The Blog of Author Tim Ferriss
D
Docker
Vercel News
Vercel News
Recent Announcements
Recent Announcements
Last Week in AI
Last Week in AI
爱范儿
爱范儿
J
Java Code Geeks
大猫的无限游戏
大猫的无限游戏

博客园 - Rickie

DeepSeek-V3 解读:优化效率与规模 一步一步构建RAG智能问答系统 Milvus向量数据库入门实践 LangChain轻松入门和开发实践 Hugging Face 轻松入门 PyTorch深度学习零基础入门 Spring Security OAuth2+JWT开发实践 Spring Security开发实践 Redis 7.x 入门和开发实战 RedisInsight :Redis 官方可视化工具 Hadoop v3.1 大数据技术快速入门 《Apache RocketMQ 深入浅出》系列文章 Kafka v2.3 快速入门与实践 Apache Doris 轻松入门和快速实践 COLA 4.x和DDD项目实践精粹 阿里开源COLA 4.0源码编译和部署过程 Java实体映射工具MapStruct 与BeanUtils性能比较 阿里DDD项目最佳实践-COLA 架构总览 Java实体映射工具MapStruct详解
一步一步编译最新版Apache Doris 0.15版本的详细过程
Rickie · 2021-12-04 · via 博客园 - Rickie

Apache Doris 于 2021 年 11 月 29 日迎来了 0.15.0 Release 版本的正式发布!有 99 位 Contributor 为 Apache Doris 提交了近 700 项优化和修复。在 0.15.0 Release 版本中,增加了诸多新功能,对 Apache Doris 的查询性能、易用性、稳定性方面等进行了全面优化。

本文将详细演示如何一步一步完成编译最新版Apache Doris 0.15版本。

一、下载Docker开发编译镜像

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

选择该版本对应的docker开发编译镜像,如图所示。针对不同的 Doris 版本,需要下载对应的镜像版本。

Apache doris 0.15.0 版本选择使用apache/incubator-doris:build-env-1.4.2 编译。

执行如下命令下载docker镜像:

docker pull apache/incubator-doris:build-env-1.4.2

二、下载Apache Doris源码

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

(1)下载doris源码

创建doris目录(mkdir doris-0.15),然后下载doris源码:

wget https://dlcdn.apache.org/incubator/doris/0.15.0-incubating/apache-doris-0.15.0-incubating-src.tar.gz

执行过程如下所示:

[root@centos-103 ~]# mkdir doris-0.15

[root@centos-103 ~]# cd doris-0.15

[root@centos-103 doris-0.15]#wget https://dlcdn.apache.org/incubator/doris/0.15.0-incubating/apache-doris-0.15.0-incubating-src.tar.gz

(2)解压

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

tar vxf apache-doris-0.15.0-incubating-src.tar.gz

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

[root@centos-103 doris-0.15]# ls

apache-doris-0.15.0-incubating-src  apache-doris-0.15.0-incubating-src.tar.gz

三、启动Docker容器

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

Docker启动命令如下所示:

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-1.4.2

在 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 源码映射目录中,执行编译命令。

sh build.sh

开始漫长的编译过程 ... 编译过程有点慢。

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

[root@c7738df1c0f4 apache-doris-0.15.0-incubating-src]# ls output

be  fe  udf

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

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

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