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

简介: Doris FE源码解读系列之源码编译踩坑!!!

一、前言

最近在学习Doris FE源码,按照Doris官网开发者手册下载源码时,出现了很多问题,比如Jar包无法加载、编译项目报错、Thrift 插件无法引用等等,导致卡壳时间太久,所以总结如下经验分享给大家,避免大家在同样问题花大量时间去解决。

Apache Doris官方文档:

https://doris.apache.org/zh-CN/developer-guide/fe-idea-dev.html#_4-%E8%AE%BE%E7%BD%AE%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F

二、环境

  • 电脑配置:Macbook Pro(Inter i5,Mac OS版本:12.2.1)
  • JDK:1.8
  • Maven:3.6.1
  • Idea:2021.03.03
  • Scala:2.12.2
  • Thrift:0.13.0
  • Doris:1.0.0

三、详细步骤

1、下载源码

Doris官网提供多种方式编译,Idea、Eclipse、Vscode等等,下面我们采用Idea来运行源码。

我们可以通过GitHub或者Idea VCS两种方式下载源码。

(1)GitHub下载源码 Doris GitHub 链接:https://github.com/apache/incubator-doris

  • 通过浏览器打开链接
    72428b1f149ef2ac08a43e765ce47e4f.jpg
  • 下载源码

源码下载完成之后,把源码解压到Idea的workspace即可。

dadd8a3b5317952fe7aaca4079ee6358.jpg

(2)Idea VCS下载源码

  • 打开Idea
    410c644f3c5096f6e5f21a40b0e65caf.jpg

  • 点击右上角 “从VCS获取” 按钮
    a9c1c0d25473c74fd70ec0330825d4a8.jpg
  • 输入Doris Git地址

Doris Git地址:https://github.com/apache/incubator-doris.git

fbd5886b4c5f87030b7c1a58f382dd65.jpg

等待Idea从GitHub获取完整代码。

2、安装Thrift

  • 查看电脑是否安装Thrift

在Mac终端输入命令:brew info Thrift@0.13.0 (PS:如果没有安装brew命令,可以自行百度如何安装)

安装 thrift 0.13.0 版本(注意:Doris 0.15 以上 和最新的版本基于 thrift 0.13.0 构建, 之前的版本依然使用thrift 0.9.3 构建)

de0c84ab276deb81e117562c81a3fcaf.jpg

  • 安装Thrift 0.13.0

输入命令:brew install thrift@0.13.0

注:MacOS执行 brew install thrift@0.13.0 可能会报找不到版本的错误,解决方法如下,在终端执行:

  • brew tap-new $USER/local-tap
  • brew extract --version='0.13.0' thrift $USER/local-tap
  • brew install thrift@0.13.0

「注:留意Thrift安装的位置!!!!」


9abcd348c9db7a66eef8edfb09edf533.jpg
  • 验证Thrift安装

输入命令:thrift -version

5434afd48cd021026971061decf79b35.jpg

3、Maven 环境配置

(1)Idea打开Doris源码,等待Maven加载pom文件依赖

4c00cbc52b4a3691191ebb9d4b358701.jpg

注:我这是使用的是IDEA默认的maven仓库,很多JAR包都加载不出来。

(2)将Thrift文件复制到Doris源码目录下的thirdparty文件夹

  • 首先在thirdparty文件夹下创建/installed/bin

0ea9d208af8eb9271b9fc3c4f859c870.jpg

  • 找到Thrift安装位置,复制文件到 Doris源码/thirdparty/installed/bin,执行命令:
cp /usr/local/Cellar/thrift\@0.13.0/0.13.0/bin/thrift /Users/apple/Workspaces/Doris源码_1.0.0/thirdparty/installed/bin/

7d9b69e02eacd0d8ea5070ddd381e11c.jpg

  • 查看文件是否复制

9c82ddb5771c4c1fd2a64111fabf3f3c.jpg


相关文章
|
Java 编译器 Apache
Doris FE源码解读系列之源码编译踩坑!!!(下)
Doris FE源码解读系列之源码编译踩坑!!!
617 1
Doris FE源码解读系列之源码编译踩坑!!!(下)
|
2月前
|
SQL 关系型数据库 MySQL
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(上)
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)
477 0
|
9月前
|
存储 固态存储 关系型数据库
Apache Doris 系列: 入门篇-安装部署
Apache Doris 系列: 入门篇-安装部署
621 0
|
2月前
|
安全 Java
Springboot2.1.1版本升级到2.3.10版本报错合集及解决办法
Springboot2.1.1版本升级到2.3.10版本报错合集及解决办法
|
2月前
|
Java 关系型数据库 MySQL
Flink CDC编译问题之官方样例代码报错如何解决
Flink CDC编译指的是将Flink CDC源代码转换成可执行程序的过程,可能会涉及到依赖管理和环境配置等问题;本合集将介绍Flink CDC编译的步骤、常见错误及其解决办法,以确保顺利完成编译过程。
|
2月前
|
SQL Java 数据库
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(下)
【Seata1.5.2 下载 & 配置 & 整合 & 踩坑 & 测试】—— 含各种踩坑记录(详细版)(下)
185 0
|
10月前
|
Java Apache 开发工具
Flink 源码阅读环境搭建
阅读优秀的源码是提升我们代码技能最重要的手段之一,工欲善其事必先利其器,所以,搭建好源码阅读环境是我们阅读的第一步。
|
11月前
|
分布式计算 Hadoop
|
11月前
|
SQL 分布式计算 Hadoop
|
11月前
|
SQL 消息中间件 监控