代码编织梦想

本文档主要介绍如何通过源码编译 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文件

<properties>
        <scala.version>2.12</scala.version>
        <flink.version>1.13.5</flink.version>
        <libthrift.version>0.13.0</libthrift.version>
        <arrow.version>5.0.0</arrow.version>
        <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
        <maven-javadoc-plugin.version>3.3.0</maven-javadoc-plugin.version>
        <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <doris.home>${basedir}/../../</doris.home>

修改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、备注

  1. doris FE 要在配置中配置启用http v2
  2. Scala版本目前只支持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 中文帮助文档 - 文江博客

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baidu_37755752/article/details/123735700

一键启动Debezium+Kafka+Flink-爱代码爱编程

编写配置文件docker-compose.yml version: "3.3" services: database: image: debezium/postgres:11 container_name: database ports: - "5432:5432" environment: -

10. logback详解,Flink流处理案例及Hive和Hbase的整合-爱代码爱编程

logback详解,Flink流处理案例及Hive和Hbase的整合 1. [logback的使用和logback.xml详解](https://www.cnblogs.com/warking/p/5710303.html)1.1. 按指定间隔滚动生成日志文件1.2. [logback指定某一包或者类下日志记录到不同文件中](https://blo

doris初步使用-爱代码爱编程

官网地址:http://doris.incubator.apache.org/master/zh-CN/installing/compilation.html#%E4%BD%BF%E7%94%A8-docker-%E5%BC%80%E5%8F%91%E9%95%9C%E5%83%8F%E7%BC%96%E8%AF%91%EF%BC%88%E6%8E%A8%

【遇见Doris】4.13线下开发者沙龙分享--微博团队-爱代码爱编程

这次的Apache Doris (incubating) 0.10.0开发者沙龙在中关村国际会议中心圆满结束,各位嘉宾都带来了干货满满的分享。近期小编会给大家带来精彩的现场回顾和视频录像,敬请期待!现场录像请见文章最后链接分享。 今天是马骎同学代表微博团队带来的关于Doris在微博的应用和分享。

Flink Kafka Doris实战demo-爱代码爱编程

Flink Kafka Doris实战demo 环境: Flink 1.12Doris 0.12Kafka 1.0.1+kafka3.1.1一:编译doris 参考官网Docker编译:https://github.com/apache/incubator-doris/wiki/Doris-Install 1.1 注意问题: 需要

Doris编译安装 0.14.0-爱代码爱编程

Doris安装文档 环境准备 硬件参数数量1台内核CentOS Linux release 7.6.1810 (Core)CPU8核 2925.986Mhz架构x86_64内存128M硬盘sda 50G / sdb 200G /data关闭防火墙# systemctl disable firewalld.service # systemctl stop

docker 安装hadoop,hive,mysql等大数据工具-爱代码爱编程

大数据hadoop三块 ***大数据可视化交互工具:Hue、Zeppelin ***新一代存储加计算工具:ClickHouse、Doris 1、hdfs(存储):hbase、kudu、druid等 2、mapreduce(计算):hive、spark、flink、kylin、impala等 3、yarn(分布式部署):mesos、k8s 1、do

使用 Flink CDC 实现 MySQL 数据实时入 Apache Doris-爱代码爱编程

 Apache Doris 代码仓库地址:apache/incubator-doris 欢迎大家关注加星   本文通过实例来演示怎么通过Flink CDC 结合Doris的Flink Connector实现从Mysql数据库中监听数据并实时入库到Doris数仓对应的表中。 1.什么是CDC CDC 是变更数据捕获(Change Data Capt

Ambari2.7.3自定义安装Ambari-Doris-Service-爱代码爱编程

1.背景 通过Ambari,来安装和管理HDP集群上的Doris。 这个ambari doris stacks有3个角色,DORIS_FE\FE_Observer\DORIS_BE, doris包的名字是doris-0.14.0-release.tar.gz,树路径如下: doris-0.14.0-release ├── be │ ├── bin │

博文推荐|Flink CDC 结合 Doris Flink Connector 实现MySQL数据实时入Apache Doris-爱代码爱编程

本文通过实例来演示怎么通过 Flink CDC 结合 Doris 的 Flink Connector 实现从 MySQL 数据库中监听数据并实时入库到 Doris 数仓对应的表中。 1.什么是CDC CDC 是变更数据捕获(Change Data Capture)技术的缩写,它可以将源数据库(Source)

【Doris Weekly 】2021.09.27~2021.10.17-爱代码爱编程

观众朋友们: 晚上好! 欢迎收看【 Doris 近日要闻】~本次为您带来的是 2021 年 09 月 27 日 ~ 2021 年 10 月 17 日的三周总结。(希望大家度过了一个愉快的国庆假期!) Dev 邮件组:dev@doris.apache.orgGithub Issue:https://gi

Flink CDC 系列 - 同步 MySQL 分库分表,构建 Iceberg 实时数据湖-爱代码爱编程

▼ 关注「Apache Flink」,获取更多技术干货 ▼ 摘要:本篇教程将展示如何使用 Flink CDC 构建实时数据湖,并处理分库分表合并同步的场景。 Flink-CDC 项目地址: https://github.com/ververica/flink-cdc-connectors Tips:点击「阅读原文」查看更多技术干货~ 在 O

doris 15 详细docker 编译 以及drois-flink的编译-爱代码爱编程

1. 编译对应的版本 https://doris.apache.org/master/zh-CN/installing/compilation.html 这里选择 docker15 编译 2.docker 拉去镜像 [root@basenode ~]# docker pull apache/incubator-doris:build-env-for-

flink13.5整合hudi10-爱代码爱编程

1. 版本 2.hudi 源码下载 https://github.com/apache/hudi/releases 2.1 需要改flink 版本为13.5 根目录下面的pom 文件 <flink.version>1.13.5</flink.version> <hive.version>3.1.0</h

【Apache SeaTunnel (Incubating) 2.1.0 发布,内核重构、全面支持 Flink】-爱代码爱编程

2021 年 12 月 9 日,SeaTunnel (原名 Waterdrop) 成功加入 Apache 孵化器,进入孵化器后,SeaTunnel 社区花费了大量时间来梳理整个项目的外部依赖以确保整个项目的合规性,终于在贡献者们四个月的努力下,社区于 2022 年 3 月 18 日正式发布了首个 Apache 版本,该版本一次性通过 Apache 孵化

干货 | Apache Doris在小米集团的运维实践-爱代码爱编程

本期技术干货,我们邀请到了小米OLAP引擎研发工程师魏祚、小米存储计算引擎SRE工程师孟子楠,和大家从运维的角度分享Apache Doris在小米集团的应用实践。 一、背景 为了提高小米增长分析平台的查询性能以及降低平台的运维成本,2019年9月小米集团首次引入了Apache Doris系统。在过去两年多的时间里,Apache Doris在小米集