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的泛型去掉。

相关推荐
S01d13r几秒前
2024 蓝桥杯 Java 研究生组
java·职场和发展·蓝桥杯
江节胜-胜行全栈AI1 分钟前
Java-对比两组对象找出发生变化的字段工具-支持枚举映射-支持时间-支持显示对应字段中文描述-嵌套list等场景
java·python·list
Dcs1 分钟前
使用 Nebius 在几分钟内微调你的 LLM
java
程序员老周6668 分钟前
从MySQL快速上手大数据Hive
大数据·数据库·hive·hadoop·mysql·mapreduce·数据工程师
大哥喝阔落14 分钟前
git操作0409
大数据·git·elasticsearch
cg501715 分钟前
Maven 的安装与配置(IDEA)
java·ide·spring boot·maven
写bug写bug23 分钟前
掌握Spring 中的 RestTemplate
java·后端·spring
麓殇⊙30 分钟前
springMVC-拦截器详解
java·后端·spring·interceptor
li_Michael_li39 分钟前
Spring Boot中@Valid 与 @Validated 注解的详解
java·spring boot·后端
添砖Java中42 分钟前
Java接口性能优化面试问题集锦:高频考点与深度解析
java·面试·性能优化