Docker上编译部署Doris0.15-爱代码爱编程
一、拉取编译环境
根据自己的情况选择对应的环境,我这里按照0.15为例
docker pull apache/incubator-doris:build-env-for-0.15.0
二、运行镜像
方式一:提前下载好源码,挂载到镜像中
docker run -it -v /your/local/.m2:/root/.m2 -v /your/local/incubator-doris-DORIS-x.x.x-release/:/root/incubator-doris-DORIS-x.x.x-release/ apache/incubator-doris:build-env-for-0.15.0
这条命令挂载了源码,和maven的本地库,可以避免一些包每次都要下载,其中:
红色部分: 本地maven仓库的地址
紫色部分:源码的路径
绿色部分:源码挂载后的目录名
蓝色部分:刚才拉取的环境
方式二:在docker中拉取源码
① docker run -it apache/incubator-doris:build-env-for-0.15.0
②wget https://dist.apache.org/repos/dist/dev/incubator/doris/0.15/0.15.0-rc04/apache-doris-0.15.0-incubating-src.tar.gz
这个地址只是0.15版本的doris
或者 还可以视同git拉取指定版本的源码
git clone --branch branch-0.15 https://github.com/apache/incubator-doris.git
或者 但这个对国内的小伙伴不是很友好,不翻墙很难下载,那就实时码云吧
git clone --branch branch-0.14 https://gitee.com/baidu/apache-doris.git
(我编译时0.15分支还没更新,就以0.14分支为例,后面肯定会很快更新)
三、更改jdk版本
从 build-env-1.3.1 的docker镜像起,同时包含了 OpenJDK 8 和 OpenJDK 11,并且默认使用 OpenJDK 11 编译。请确保编译使用的 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
四、编译
进入到源码目录下可以看到有一个build.sh文件
运行编译脚本进行编译:
sh build.sh
然后就静静的等待编译完成,初次编译会比较久,视网络情况而定,我用了2h。编译完成就可以看到如下图的界面
恭喜你编译完成了,编译出来的文家在源码目录的output目录
进入到output目录,可以看到be,fe,udf三个文件夹,接下来就是安装部署了