MAC IntelliJ IDEA搭建Doris Fe

目录

版本信息

安装环境依赖

拉取源码

下载 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

注意事项

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

修改系统最大文件句柄数

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/759607.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据之王国:解析Facebook的大数据应用

引言 作为全球最大的社交媒体平台之一&#xff0c;Facebook拥有庞大的用户群体和海量的数据资源。这些数据不仅包括用户的个人信息和社交行为&#xff0c;还涵盖了广告点击、浏览记录等多方面内容。Facebook通过巧妙地利用这些数据&#xff0c;构建了强大的大数据应用系统&…

ansible 管理工具以及常用模块

一、前期准备 1、安装 yum install ansible 如果yum源没有ansible&#xff0c;需要提前配置yum源&#xff1a; mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup wget -O…

Web框架开发-Django模型层(数据库操作)

一、ORM介绍 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动ORM是“对象-关系-映…

[C++11] 智能指针(auto_ptr(弃用)、unique_ptr、shared_ptr、weak_ptr)详细解读

说明&#xff1a;本文主要解释auto_ptr、unique_ptr、shared_ptr、weak_ptr这几种智能指针。接下来我们对每一个指针类型进行详细说明并给出一些基本的使用方式&#xff0c;重在深入理解。 在 C 中&#xff0c;auto_ptr、unique_ptr、shared_ptr 和 weak_ptr四种智能指针主要用…

拌合楼管理系统(八) c#海康威视摄像头车牌识别

前言: c#调用海康威视SDK实现车牌识别 原本以为海康威视sdk的Demo里面没有车牌识别的实例,后来发现自己肤浅了,官方是有提供的,只是车牌识别是通过安防布警的方式实现的.程序主动监听,触发告警后获取到车牌信息. 一、接口调用的流程&#xff1a; 首先初始化sdk -> 开…

SQLiteC/C++接口详细介绍sqlite3_stmt类(四)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;三&#xff09; 下一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;五&#xff09; 7. sqlite3_bind_parameter_count函数 sqlite3_bind_param…

流畅的 Python 第二版(GPT 重译)(十一)

第二十章&#xff1a;并发执行器 抨击线程的人通常是系统程序员&#xff0c;他们心中有着典型应用程序员终其一生都不会遇到的用例。[…] 在 99%的用例中&#xff0c;应用程序员可能会遇到的情况是&#xff0c;生成一堆独立线程并将结果收集到队列中的简单模式就是他们需要了解…

Java newInstance方法学习

用newInstance与用new是有区别的&#xff0c;区别在于创建对象的方式不一样&#xff0c;前者是使用类加载机制&#xff1b; newInstance方法要求该 Class 对应类有无参构造方法&#xff1b; 执行 newInstance()方法实际上就是使用对应类的无参构造方法来创建该类的实例&#x…

docker离线安装并修改存储目录

docker下载 根据cpu选择不同版本&#xff0c;正常x86就选x86_64 下载地址&#xff1a;https://download.docker.com/linux/static/stable/ docker安装 tar -zxvf arm-docker-25.0.4.tgz sudo cp docker/* /usr/bin/ rm -rf docker/* mkdir /etc/docker vi /etc/docker/daemo…

YOLOV4-车道线检测-车距离预测

1.前言 最近在看华为的CANN框架&#xff0c;发现了一些很有意思的开源算法(本文所有的代码都出自华为开源git发布的代码)&#xff0c;华为最近出了AI PRO开发板&#xff0c;想着现在开发板上用用(不想重新配置环境了&#xff0c;麻烦还累)&#xff0c;看着代码有onnx的模型&…

浅学redis

一、持久化 1.为什么需要持久化&#xff1f; 如果不将内存中的数据保存到磁盘&#xff0c;那么一旦服务器进程退出&#xff0c;服务器中数据也会消失&#xff0c;所以redis提供了持久化功能 2.RDB&#xff08;redis database&#xff09; redis配置中&#xff0c;默认使用RDB…

绝地求生:PUBG延长GPU崩溃时间新方法

相信大家都在被GPU游戏崩溃苦恼已久&#xff0c;PUBG这个游戏崩溃&#xff0c;跟超频是没有多大关系的&#xff0c;只要超频TM5过测&#xff0c;YC过测&#xff0c;或者双烤过测&#xff0c;就没问题。主要是这个游戏的优化不行&#xff0c;特别40系显卡&#xff0c;对内存条也…

C# System.Console.WriteLine的格式化输出

C#中Console.WriteLine()函数输出格式详解 真 C#中Console.WriteLine()函数输出格式详解 假 using System;namespace Test {class TODO {static void Main() {System.Console.WriteLine("!{1,4:D3}!", 12, 24);}} }! 024!{index[,alignment][:formatString]} 其中&a…

免费AI出图神器:StableStudio——定义AI作画新前景

StableStudio&#xff1a;探索艺术与科技的无限交界&#xff0c;StableStudio引领AI智能创作新浪潮&#xff01; - 精选真开源&#xff0c;释放新价值。 概览 ChatGPT大语言模型AI的诞生引爆了对AIGC的讨论。AIGC 又称生成式 AI (Generative AI)&#xff0c;是继专业生产内容&…

VSCode使用MSVC编译器

1.其他大佬的配置&#xff1a;下载和安装库环境 2.安装好C/C插件<选择1.8.4的版本最好>。 3.分别生成对应的默认模板即可。但是其中参数可能需要配置。 task.json {"version": "2.0.0","tasks": [{"type": "cppbuild"…

Python 全栈体系【四阶】(十七)

第五章 深度学习 一、基本理论 3. 深度神经网络训练法则 3.1 损失函数 3.1.1 什么是损失函数&#xff1f; 损失函数&#xff08;Loss Function&#xff09;&#xff0c;也有称之为代价函数&#xff08;Cost Function&#xff09;&#xff0c;用来度量预测值和实际值之间的差…

html5cssjs代码 029 CSS计数器

html5&css&js代码 029 CSS计数器 一、代码二、解释 该HTML代码定义了一个网页的结构和样式。在头部&#xff0c;通过CSS样式定义了body和h1-h2元素的样式。body元素的样式包括文本居中、计数器重置、字体颜色和背景颜色。h2元素的样式使用了CSS计数器来自动在标题前添加…

2024最新华为OD机试试题库全 -【转盘寿司】- C卷

1. 🌈题目详情 1.1 ⚠️题目 寿司店周年庆,正在举办优惠活动回馈新老客户。 寿司转盘上总共有 n 盘寿司,prices[i] 是第 i 盘寿司的价格, 如果客户选择了第 i 盘寿司,寿司店免费赠送客户距离第 i 盘寿司最近的下一盘寿司 j,前提是 prices[j] < prices[i],如果没…

RIDE控制台中文显示为乱码问题解决方案【版本1.7.4.1】

1、方法&#xff1a; 将 C:\Users\user_name\AppData\Roaming\Python\Python37\site-packages\robotide\contrib\testrunner\testrunnerplugin.py文件中的第80行修改&#xff0c;改为utf-8 2、修改代码位置&#xff1a; 3、效果&#xff1a; 4、参考文章 试了前面的方法没有…

千益畅行共享旅游卡怎么代理? 开启江浙沪区域畅享0费用旅游新机遇

想要探索副业项目的新领域&#xff0c;共享旅游卡无疑是一个极具潜力的选择。千益畅行旅游卡作为市场上的佼佼者&#xff0c;为众多创业者提供了一个零风险、高回报的副业项目。无论是上海共享旅游卡代理、江苏共享旅游卡代理、还是浙江共享旅游卡代理&#xff0c;都能让你轻松…