栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Docker编译Doris及flink-doris-connector

Docker编译Doris及flink-doris-connector

本文档主要介绍如何通过源码编译 Doris及flink-doris

这里默认已经安装好了Docker

编译flink-doris 需要先编译Doris,官方说明

注意:

doris源码目录extension/flink-doris-connector/ 这里的flink-doris源码与 GitHub 上下载的 flink-doris 源码似乎有点区别。编译时候注意一下

doris GitHub地址:GitHub - apache/incubator-doris: Apache Doris(Incubating) is an MPP-based interactive SQL data warehousing for reporting and analysis.

doris-flink GitHub 地址:GitHub - apache/incubator-doris-flink-connector: Flink Connector for Apache Doris(incubating)

doris 官网文档:编译 | Apache Doris

1、下载Docker 镜像

先去官网查看版本

  

拉取最新版本

docker pull apache/incubator-doris:build-env-ldb-toolchain-latest

可以拉取指定版本

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

注意:

 

镜像下载完成:

docker images

用命令查看是否已经下载好。

这时不要着急运行镜像,这个镜像是编译doris的一个环境,还需要编译的源码。

2、下载源码

先在本地下载源码

1.Doris

先进入本地目录

cd /root/doris
$ wget https://dist.apache.org/repos/dist/dev/incubator/doris/xxx.tar.gz
or
$ git clone https://github.com/apache/incubator-doris.git

如果下载的是压缩包,对下载的源码进行解压

tar -zxf xxx.tar.gz

 2.flink-doris-connector

现在Doris 源码目录下 查找 extension/flink-doris-connector/ 源码目录,如果有该目录说明有fink-doris的源码了,如果没有,需要下载源码,从GitHub上下面,放到该目录,目的是后面挂载的时候这个源码也可以进入docker

3、运行镜像

建议以挂载本地 Doris 源码目录的方式运行镜像,这样编译的产出二进制文件会存储在宿主机中,不会因为镜像退出而消失。

同时,建议同时将镜像中 maven 的 .m2 目录挂载到宿主机目录,以防止每次启动镜像编译时,重复下载 maven 的依赖库

本地目录要考虑磁盘空间,最好用磁盘空间大一点的目录

$ 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-ldb-toolchain-latest

例如

docker run -it -v /root/.m2:/root/.m2 -v /opt/software/doris/apache-doris-0.15.0-incubating-src:/opt/software/doris/apache-doris-0.15.0-incubating-src apache/incubator-doris:build-env-for-0.15.0

执行完命令后,启动镜像后,你应该已经处于容器内

4、编译Doris

进入到容器内源码目录

执行下面命令

sh build.sh

注意:

如果你是第一次使用 build-env-for-0.15.0 或之后的版本,第一次编译的时候要使用如下命令:

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

这是因为 build-env-for-0.15.0 版本镜像升级了 thrift(0.9 -> 0.13),需要通过 --clean 命令强制使用新版本的 thrift 生成代码文件,否则会出现不兼容的代码。

编译完成后,产出文件在 output/ 目录中。

5、更改flink 版本 修改成 13.5

当前在容器内操作

进入flink-doris源码目录,修改pom.xml文件


        2.12
        1.13.5
        0.13.0
        5.0.0
        3.8.1
        3.3.0
        3.2.1
        UTF-8
        ${basedir}/../../

修改flink对应版本号,scala对应版本号

6、要将jdk 切回到1.8(docker容器里面操作)

切换到 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

7、编译 :doris-flink

在flink-doris源码目录下有 build.sh 脚本

执行命令

sh build.sh

编译成功后,会在 output/ 目录下生成文件 doris-flink-1.0.0-SNAPSHOT.jar

8、备注

    doris FE 要在配置中配置启用http v2Scala版本目前只支持2.12.x版本

conf/fe.conf

enable_http_server_v2 = true

编译doris 报错

 

解决方案

修改一个路径

vi fe/pom.xml change 
https://repo.spring.io/plugins-release/
修改为
https://repository.cloudera.com/artifactory/ext-release-local

参考网址:扩展功能 - Flink Doris Connector - 《Apache Doris v0.15 中文文档》 - 书栈网 · BookStack

https://python.iitter.com/other/295122.html

Flink Doris Connector - Apache Doris 中文帮助文档 - 文江博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/780267.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号