Doris FE源码解读系列之源码编译踩坑!!!(下)

简介: Doris FE源码解读系列之源码编译踩坑!!!
  • 设置 maven 配置或者系统环境变量(1)maven 配置

左上角 IntelliJ IDEA ==> Perferences

640.jpg

设置doris.thrift变量值

640.jpg

(2)系统环境配置

  • 终端输入命令:sudo vi ~/.bash_profile
  • 添加 DORIS_THRIFT 变量,value是「thirdparty」文件夹绝对路径

640.jpg

  • 编辑完成之后保存文件
  • 终端输入命令:source ~/.bash_profile

4、源码编译

  • 先编译fe-common 项目

640.jpg

  • 解决报错:Unable to find: checkstyle-apache-header.txt

640.jpg

  • 再次 install fe-common项目,又遇见报错:
Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.6:sign (sign-release-artifacts) on project fe-common: Unable to execute gpg command: Error while executing process. Cannot run program "gpg": error=2, No such file or directory -> [Help 1]


640.jpg


「解决方式」:在fe-common.pom加入org.apache.maven.plugins依赖:


<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-gpg-plugin</artifactId>
    <version>1.6</version>
    <configuration>
        <skip>true</skip>
    </configuration>
</plugin>

640.jpg

  • 继续编译fe-common项目

640.jpg

  • 编译spark-dpp 项目

如果出现该报错:

Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.6:sign (sign-release-artifacts) on project fe-common: Unable to execute gpg command: Error while executing process. Cannot run program "gpg": error=2, No such file or directory -> [Help 1]

在spark-dpp.pom 文件添加 org.apache.maven.plugins依赖:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-gpg-plugin</artifactId>
    <version>1.6</version>
    <configuration>
        <skip>true</skip>
    </configuration>
</plugin>

640.jpg

  • 编译 fe项目

「编译fe项目的目的是生成 fe-core target文件,不能直接编译fe-core,因为fe-core依赖fe部分文件,所以我们需要先编译fe项目」

640.jpg

5、启动fe-core项目

  • 创建文件夹logs、webroot、logs、doris-meta
    640.jpg
  • 设置fe-core启动类变量
    640.jpg

640.jpg

变量设置:

JAVA_OPTS=-Xmx1024m;
DORIS_HOME=/Users/apple/Workspaces/Doris源码_1.0.0;
PID_DIR=/Users/apple/Workspaces/Doris源码_1.0.0/fe;
LOG_DIR=/Users/apple/Workspaces/Doris源码_1.0.0/fe/logs
  • 启动 fe-core

dbf70d1a8af1ee32adad4e46aab17d62.jpg

四、总结

使用IDEA编译Apache Doris FE源码过程中,出现了很多报错,我进行了总结:

Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.6:sign (sign-release-artifacts) on project fe-common: Unable to execute gpg command: Error while executing process. Cannot run program "gpg": error=2, No such file or directory -> [Help 1]

解决方式:缺少maven-gpg-plugin依赖,在pom文件添加即可,配置文件如下:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-gpg-plugin</artifactId>
    <version>1.6</version>
    <configuration>
        <skip>true</skip>
    </configuration>
</plugin>
Unable to find: checkstyle-apache-header.txt

解决方式:checkstyle-apache-header.txt文件的路径不对,如下 图:

8c3a7d14b4a8412449b18557c0c4a102.jpg

thrift did not exit cleanly. Review output for more information.

解决方式:thrift文件的路径不对,请看Maven环境配置章节!

Module 'fe-core' production : java.lang.OutOfMemoryError: GC overhead limit exceeded

解决方式:Maven的编译器内存不够,添加内存即可,如图

2aff1fdb166ab3a26287d873201fb4f5.jpg

相关文章
|
网络安全 数据安全/隐私保护
ssh远程执行命令自动输入密码方式
ssh远程执行命令自动输入密码方式
3910 0
|
SQL 消息中间件 Kafka
流数据湖平台Apache Paimon(二)集成 Flink 引擎
流数据湖平台Apache Paimon(二)集成 Flink 引擎
2349 0
|
8月前
|
存储 分布式计算 Apache
湖仓一体:小米集团基于 Apache Doris + Apache Paimon 实现 6 倍性能飞跃
小米通过将 Apache Doris(数据库)与 Apache Paimon(数据湖)深度融合,不仅解决了数据湖分析的性能瓶颈,更实现了 “1+1>2” 的协同效应。在这些实践下,小米在湖仓数据分析场景下获得了可观的业务收益。
1341 9
湖仓一体:小米集团基于 Apache Doris + Apache Paimon 实现 6 倍性能飞跃
|
SQL 算法 调度
Flink批处理自适应执行计划优化
本文整理自阿里集团高级开发工程师孙夏在Flink Forward Asia 2024的分享,聚焦Flink自适应逻辑执行计划与Join算子优化。内容涵盖自适应批处理调度器、动态逻辑执行计划、自适应Broadcast Hash Join及Join倾斜优化等技术细节,并展望未来改进方向,如支持更多场景和智能优化策略。文章还介绍了Flink UI调整及性能优化措施,为批处理任务提供更高效、灵活的解决方案。
584 0
Flink批处理自适应执行计划优化
|
9月前
|
SQL 消息中间件 Kafka
Flink SQL 详解:流批一体处理的强大工具
Flink SQL 是 Apache Flink 提供的 SQL 引擎,支持流批一体处理,统一操作流数据与批数据,具备高性能、低延迟、丰富数据源支持及标准 SQL 兼容性,适用于实时与离线数据分析。
1175 1
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
本文整理自鹰角网络大数据开发工程师朱正军在Flink Forward Asia 2024上的分享,主要涵盖四个方面:鹰角数据平台架构、数据湖选型、湖仓一体建设及未来展望。文章详细介绍了鹰角如何构建基于Paimon的数据湖,解决了Hudi入湖的痛点,并通过Trino引擎和Ranger权限管理实现高效的数据查询与管控。此外,还探讨了湖仓一体平台的落地效果及未来技术发展方向,包括Trino与Paimon的集成增强、StarRocks的应用以及Paimon全面替换Hive的计划。
1685 1
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
|
存储 SQL Apache
Apache Doris 创始人:何为“现代化”的数据仓库?
3.0 版本是 Apache Doris 研发路程中的重要里程碑,他将这一进展总结为“实时之路”、“统一之路”和“弹性之路”,详细介绍了所对应的核心特性的设计思考与应用价值,揭晓了 2025 年社区发展蓝图
931 6
Apache Doris 创始人:何为“现代化”的数据仓库?
|
SQL 分布式计算 Java
Spark SQL向量化执行引擎框架Gluten-Velox在AArch64使能和优化
本文摘自 Arm China的工程师顾煜祺关于“在 Arm 平台上使用 Native 算子库加速 Spark”的分享,主要内容包括以下四个部分: 1.技术背景 2.算子库构成 3.算子操作优化 4.未来工作
1976 0
|
存储 缓存 Apache
Apache Paimon 在蚂蚁的应用
本文整理自 Apache Paimon Committer 闵文俊老师在5月16日 Streaming Lakehouse Meetup · Online 上的分享。Apache Paimon 是一种实时数据湖格式,设计用于流批一体处理,支持实时更新和OLAP查询。它采用LSM Tree结构,提供多种Changelog Producer和Merge Engine,支持高效的数据合并。Paimon适用于流读、批读及时间旅行查询,与多种查询引擎兼容。在蚂蚁集团的应用中,Paimon降低了资源开销,提升了查询性能,简化了研发流程,特别是在去重、核对场景和离线查询加速方面表现突出。
1542 7
Apache Paimon 在蚂蚁的应用
|
SQL 存储 NoSQL
贝壳找房基于Flink+Paimon进行全量数据实时分组排序的实践
本文投稿自贝壳家装数仓团队,在结合家装业务场景下所探索出的一种基于 Flink+Paimon 的排序方案。这种方案可以在实时环境对全量数据进行准确的分组排序,同时减少对内存资源的消耗。在这一方案中,引入了“事件时间分段”的概念,以避免 Flink State 中冗余数据对排序结果的干扰,在保证排序结果准确性的同时,减少了对内存的消耗。并且基于数据湖组件 Paimon 的聚合模型和 Audit Log 数据在数据湖内构建了拉链表,为排序结果提供了灵活的历史数据基础。
29281 8
贝壳找房基于Flink+Paimon进行全量数据实时分组排序的实践

热门文章

最新文章