目录
版本信息
安装环境依赖
拉取源码
下载 Doris 编译依赖
修改系统最大文件句柄数
编译 Doris
配置 Debug 环境
生成 FE 代码
FE模块代码导入
配置 Debug 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的泛型去掉。