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.rhkb.cn/news/280692.html

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

相关文章

CCF202309-2——坐标变换(其二)80分代码及思路

思路&#xff0c;还是暴力求解&#xff0c;直接对每一个操作进行遍历&#xff0c;最后结果保留三位小数&#xff0c;但是不知道为什么直接printf("%.3f",x)进行输出没有分&#xff0c;结果完全对得上&#xff0c;以下是80分提交代码&#xff0c;可能大的测试点没有通…

龙芯新世界系统(安同AOCS OS)安装Cinnamon桌面最新版6.0.4

龙芯的新世界系统安同AOCS OS是十分优秀的操作系统&#xff0c;处于纯社区方式运行&#xff0c;她的各组件更新得很及时&#xff0c;很多组件都处于最新的状态&#xff0c;给我们安装使用最新的开源软件提供了很好的基础。由于本人一直使用Cinnamon桌面环境&#xff0c;各方面都…

设计模式|工厂模式

文章目录 1. 工厂模式的三种实现2. 简单工厂模式和工厂方法模式示例3. 抽象工厂模式示例4. 工厂模式与多态的关系5. 工程模式与策略模式的关系6. 面试中可能遇到的问题6.1 **工厂模式的概念是什么&#xff1f;**6.2 **工厂模式解决了什么问题&#xff1f;**6.3 **工厂模式的优点…

Flume入门概述及安装部署

目录 一、Flume概述1.1 Flume定义1.2 Flume基础架构 二、Flume安装部署 一、Flume概述 1.1 Flume定义 Flume是Cloudera提供的一个高可用的&#xff0c;高可靠的&#xff0c;分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构&#xff0c;灵活简单。 1.2 Flume基础…

基于深度学习的面部情绪识别算法仿真与分析

声明&#xff1a;以下内容均属于本人本科论文内容&#xff0c;禁止盗用&#xff0c;否则将追究相关责任 基于深度学习的面部情绪识别算法仿真与分析 摘要结果分析1、本次设计通过网络爬虫技术获取了七种面部情绪图片&#xff1a;吃惊、恐惧、厌恶、高兴、伤心、愤怒、自然各若…

OpenGL+QT实现矢量和影像的叠加绘制

一、QT下OpenGL框架的初始化 OpenGL的介绍我在这里就没有必要介绍了&#xff0c;那OpenGL和QT的结合在这里就有必要先介绍一下&#xff0c;也就是怎么使用QT下的OpenGL框架。要想使用QT下的OpenGL框架&#xff0c;就必须要子类化QGLWidget&#xff0c;然后实现。 void initia…

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

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

sqllab第三十四关通关笔记

知识点&#xff1a; 宽字节注入单引号闭合注意&#xff1a;不能直接在输入框进行宽字节注入&#xff0c;会被url编码&#xff0c;除非输入原始字符&#xff08;%df已经是url编码了&#xff0c;直接输入会二次编码&#xff09;错误注入 payload:username1%dforextractvalue(1,c…

【G3D笔记】AI生成式3D算法相关环境安装爬坑笔记

【G3D笔记】AI生成式3D算法相关环境安装爬坑笔记) 1、 RayMarching1.1 error C1189: #error: You need C++17 to compile PyTorch1.2 raymarching安装环境版本测试1.3 host_config.h(231): fatal error C1083: 无法打开包括文件: “crtdefs.h”2、Tiny-Cuda-nn2.1 HTTP/2 stre…

SpringCloudAlibaba系列之Seata实战

目录 环境准备 1.下载seata安装包 2.修改配置文件 3.准备seata所需配置文件 4.初始化seata所需数据库 5.运行seata 服务准备 分布式事务测试 环境准备 1.下载seata安装包 Seata-Server下载 | Apache Seata 本地环境我们选择稳定版的二进制下载。 下载之后解压到指定目录…

Mysql:行锁,间隙锁,next-key锁?

注&#xff1a;以下讨论基于InnoDB引擎。 文章目录 问题引入猜想1&#xff1a;只加了一行写锁&#xff0c;锁住要修改的这一行。语义问题数据一致性问题 猜想2&#xff1a;要修改的这一行加写锁&#xff0c;扫描过程中遇到其它行加读锁猜想3&#xff1a;要修改的这一行加写锁&…

微信小程序Skyline模式自定义tab组件胶囊与原生胶囊平齐,安卓和ios均自适应

进入下面小程序可以体验效果&#xff1a; APP.JS // app.js App({onLaunch() {;(async ()>{const systemInfo wx.getSystemInfoSync()this.globalData.system systemInfoconst menuInfo wx.getMenuButtonBoundingClientRect()this.globalData.menu menuInfo})()},glob…

【Java - 框架 - Mybatis】(01) 普通Java项目使用Mybatis操作Mysql - 快速上手

普通Java项目使用Mybatis操作Mysql - 快速上手 说明 通过软件"IntelliJ IDEA"创建"Maven"项目完成&#xff1b;通过"Mybatis"框架操纵"MySQL"数据库完成操作&#xff1b; 环境 “Java"版本"1.8.0_202”&#xff1b;“Wi…

arm-linux实现onvif server+WS-UsernameToken令牌验证

目录 一、环境搭建 1、安装openssl 2、安装bison 3、安装flex 二、gsoap下载 三、编译x86版本gsoap 四、编译arm-linux版本gsoap 1、交叉编译openssl 1.1、下载openssl 1.2、交叉编译 2、交叉编译zlib 2.1、下载zlib 2.2、交叉编译 3、交叉编译gsoap 3.1、编译过…

【鸿蒙HarmonyOS开发笔记】通知模块之发布进度条类型通知

概述 进度条通知也是常见的通知类型&#xff0c;主要应用于文件下载、事务处理进度显示。HarmonyOS提供了进度条模板&#xff0c;发布通知应用设置好进度条模板的属性值&#xff0c;如模板名、模板数据&#xff0c;通过通知子系统发送到通知栏显示。 目前系统模板仅支持进度条…

LeetCode-60题:排列序列解法二(原创)

【题目描述】 给出集合 [1,2,3,...,n]&#xff0c;其所有元素共有 n! 种排列。按大小顺序列出所有排列情况&#xff0c;并一一标记&#xff0c;当 n 3 时, 所有排列如下&#xff1a;"123" 、"132" 、"213" 、"231"、"312"、…

国内IP地址切换排行榜软件大全

随着互联网的飞速发展&#xff0c;IP地址切换技术在日常工作和生活中扮演着越来越重要的角色。无论是为了网络安全、访问特定地区网站&#xff0c;还是进行市场调研、网络爬虫等&#xff0c;IP地址切换都成为了不可或缺的工具。虎观代理将为您介绍国内较受欢迎的IP地址切换软件…

springBoot项目,无配置中心,怎么实现类似功能

实现EnvironmentPostProcessor import cn.hutool.http.HttpUtil; import org.springframework.boot.SpringApplication; import org.springframework.boot.env.EnvironmentPostProcessor; import org.springframework.boot.env.YamlPropertySourceLoader; import org.springfr…

FPGA学习_Xilinx7系列FPGA基本结构

文章目录 前言一、7系列FPGA介绍1.1、芯片编号 二、基本组成单元2.1、可编程逻辑块CLB&#xff08;Configable Logic Block&#xff09;2.2、可编程输入输出单元&#xff08;IOB&#xff09;2.3、嵌入式块RAM&#xff08;Block RAM&#xff09;2.4、底层内嵌功能单元2.5、内嵌专…

酷开系统提供畅享娱乐平台,酷开科技带来独属科技的温暖

现如今&#xff0c;智能电视早已渗透进千家万户&#xff0c;但大家对智能电视的操作系统却知之甚少&#xff0c;操作系统对于智能电视来说&#xff0c;就相当于人的大脑。购买电视&#xff0c;就像是买手机&#xff0c;购买的时候可能会被颜色、大小所吸引&#xff0c;但是操作…