MAC IntelliJ IDEA搭建Doris Fe

目录

版本信息

安装环境依赖

拉取源码

[下载 Doris 编译依赖](#下载 Doris 编译依赖)

修改系统最大文件句柄数

[编译 Doris](#编译 Doris)

[配置 Debug 环境](#配置 Debug 环境)

[生成 FE 代码](#生成 FE 代码)

FE模块代码导入

[配置 Debug FE](#配置 Debug FE)

[启动 FE](#启动 FE)

报错问题


版本信息

本次安装的doris版本信息为doris-2.1.0-rc11

IntelliJ IDEA 配置jdk17、maven3.6.3

安装环境依赖

复制代码
brew install automake autoconf libtool pkg-config texinfo coreutils gnu-getopt \
python@3 cmake ninja ccache bison byacc gettext wget pcre maven llvm@16 openjdk@17 npm

注意事项

使用 brew 安装的 jdk 版本为 17,因为在 macOS上arm64 版本的 brew 默认没有 8 版本的 jdk, Doris目前 只支持 jdk8 和 jdk17 两个版本。

设置环境变量

复制代码
#llvm 
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"

# bison
export PATH = "/opt/homebrew/opt/bison/bin:$PATH"

# texinfo
export PATH = "/opt/homebrew/opt/texinfo/bin:$PATH"

# python: 
ln -s -f /opt/homebrew/bin/python3 /opt/homebrew/bin/python

拉取源码

复制代码
# cd到拉取doris源码的目录
cd ~

#创建DorisDev文件夹
mkdir DorisDev

# cd到DorisDev文件夹中
cd DorisDev

# 拉取doris源码
git clone https://github.com/apache/doris.git

设置环境变量

复制代码
export DORIS_HOME=~/DorisDev/doris
export PATH=$DORIS_HOME/bin:$PATH

下载 Doris 编译依赖

复制代码
# cd到doris源码根目录下的thirdparty文件夹
cd ~/DorisDev/doris/thirdparty

# Intel 芯片
curl -L https://github.com/apache/doris-thirdparty/releases/download/automation/doris-thirdparty-prebuilt-darwin-x86_64.tar.xz \
    -o - | tar -Jxf -

# Apple Silicon 芯片
curl -L https://github.com/apache/doris-thirdparty/releases/download/automation/doris-thirdparty-prebuilt-darwin-arm64.tar.xz \
    -o - | tar -Jxf -

# 保证protoc和thrift能够正常运行
cd installed/bin

./protoc --version
./thrift --version

注意事项

运行 protoc thrift 的时候可能会遇到 无法打开,因为无法验证开发者 的问题,可以到前往 安全性与隐私 。点按 通用 面板中的 仍要打开 按钮,以确认打算打开该二进制。

修改系统最大文件句柄数

复制代码
# bash
echo 'ulimit -n 65536' >>~/.bashrc
    
# zsh
echo 'ulimit -n 65536' >>~/.zshrc

编译 Doris

复制代码
# cd到doris源码根目录
cd ~/DorisDev/doris

#执行编译脚本(--fe表示build Frontend and Spark DPP application. Default ON.)
sh build.sh --fe

配置 Debug 环境

复制代码
# 编译doris成功后,在~/DorisDev/doris目录下会生成一个output文件夹,将编译好的包cp出来
cp -r output ../doris-run
    
# 配置FE的conf/fe.conf,IP替换成当前安装doris fe的主机ip地址
priority_networks = IP/24

注意事项

上面cp -r output ../doris-run操作后,会将fe文件夹拷贝到~/doris-run目录下,~/doris-run/fe这个路径会在下面配置DORIS_HOME环境变量时使用。

生成 FE 代码

cd到源码根目录下执行 sh generated-source.sh 等待显示 Done 就可以了

复制代码
# cd到doris源码根目录
cd ~/DorisDev/doris

#执行生成FE代码脚本
sh generated-source.sh

拷贝 help-resource.zip

复制代码
# 进入doris/docs目录,执行以下命令
cd doris/docs
sh build_help_zip.sh
cp -r build/help-resource.zip ../fe/fe-core/target/classes

FE模块代码导入

使用IDEA工具导入FE模块,注意这里我们不要直接打开doris源码根目录,而是打开doris源码根目录下的fe目录

配置 Debug FE

点击Edit Configurations

配置环境变量

环境变量的DORIS_HOME的值为~/doris-run/fe目录,注意~/doris-run/fe目录路径为 "配置 Debug 环境" 步骤中的实际路径。

启动 FE

报错问题

**问题1:**本次安装的doris版本为doris-2.1.0-rc11,加载maven报错,无法下载org.apache.doris:je,可以将fe-core模块下pom.xml中的org.apache.doris:je注释掉,同时引入com.sleepycat:je依赖。

复制代码
<dependency>
    <groupId>com.sleepycat</groupId>
    <artifactId>je</artifactId>
    <version>18.3.12</version>
</dependency>

问题2: 启动时如果报compile编译错误,可以检查jdk配置,本次部署使用jdk17。

打开File -> Project Structure

添加JDK17

选择本地JDK17

配置上面引入的JDK17

打开settings

将 Build,Execution,Deployment -> Compiler -> Java Compiler 版本设置为17

打开maven配置文件setting.xml

修改setting.xml中的JDK版本

复制代码
<profile>
  <id>jdk-17</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>17</jdk>
  </activation>
  <properties>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
  </properties>
</profile>

**问题3:**启动时可能提示堆空间不足。需要调整 Build,Execution,Deployment -> Compiler 中 shared build process heap size 的大小,这里设置为1700。

**问题4:**本次安装的doris版本为doris-2.1.0-rc11,启动报错定位到SqlParser类,将方法do_action()中第三个参数类型Stack的泛型去掉。

相关推荐
laozhao4325 小时前
科大讯飞中标教育管理应用升级开发项目
大数据·人工智能
回到原点的码农5 小时前
Spring Data JDBC 详解
java·数据库·spring
gf13211115 小时前
python_查询并删除飞书多维表格中的记录
java·python·飞书
zb200641205 小时前
Spring Boot 实战:轻松实现文件上传与下载功能
java·数据库·spring boot
一勺菠萝丶5 小时前
Flowable + Spring 集成踩坑:流程结束监听器查询历史任务为空 & 获取不到审批意见
java·数据库·spring
jwn9995 小时前
Spring Boot 整合 Keycloak
java·spring boot·后端
宁波阿成5 小时前
OpenClaw 在 Ubuntu 22.04.5 LTS 上的安装与问题处理记录
java·linux·ubuntu·openclaw·龙虾
mldlds5 小时前
SpringBoot详解
java·spring boot·后端
kang_jin5 小时前
Spring Boot 自动配置
java·spring boot·后端
sg_knight5 小时前
如何用 Claude Code 做大型项目重构与架构优化
java·重构·架构·llm·claude·code·claude-code