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

相关文章
|
7月前
|
SQL 关系型数据库 MySQL
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(上)
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)
1010 0
|
7月前
|
SQL Java 数据库
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(下)
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(下)
379 0
|
7月前
redis7.0源码阅读(一):源码安装(如何去高效阅读源码)
redis7.0源码阅读(一):源码安装(如何去高效阅读源码)
132 0
|
SQL 资源调度 前端开发
深度剖析Dinky源码(下)
深度剖析Dinky源码(下)
338 0
|
资源调度 前端开发 Java
深度剖析Dinky源码(上)
深度剖析Dinky源码
437 0
|
Java Apache 开发工具
Flink 源码阅读环境搭建
阅读优秀的源码是提升我们代码技能最重要的手段之一,工欲善其事必先利其器,所以,搭建好源码阅读环境是我们阅读的第一步。
|
SQL Web App开发 JSON
深度剖析Dinky源码
深度剖析Dinky源码
899 0
|
Java Apache Scala
Doris FE源码解读系列之源码编译踩坑!!!(上)
Doris FE源码解读系列之源码编译踩坑!!!
940 1
Doris FE源码解读系列之源码编译踩坑!!!(上)
|
JSON 自然语言处理 Java
来聊一聊 ElasticSearch 最新版的 Java 客户端
来聊一聊 ElasticSearch 最新版的 Java 客户端
|
NoSQL Redis