在windows上通过idea搭建doris fe的开发环境(快速成功版)

devtools/2025/3/16 12:20:11/

一、前置环境准备

1. 准备Linux环境,我起的虚机,使用CentOS8,4核、12G,磁盘50G

1.1.备份yum源

# 系统下载连接:magnet:?xt=urn:btih:9DB46A612D04763AA7DB02A0FF63EDE2EA555867&dn=CentOS-8.1.1911-x86_64-dvd1.iso
sudo mkdir /etc/yum.repo.d/backup
sudo mv /etc/yum.repo.d/*.repo /etc/yum.repo.d/backup
sudo vim /etc/yum.repo.d/CentOS-Base.repo

1.2.配置yum源

# CentOS-Base.repo 
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
#failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/BaseOS/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/BaseOS/$basearch/os/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
#failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/os/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
#failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[PowerTools]
name=CentOS-$releasever - PowerTools - mirrors.aliyun.com
#failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/PowerTools/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/PowerTools/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/PowerTools/$basearch/os/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[AppStream]
name=CentOS-$releasever - AppStream - mirrors.aliyun.com
#failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/AppStream/$basearch/os/http://mirrors.aliyuncs.com/centos/$releasever/AppStream/$basearch/os/http://mirrors.cloud.aliyuncs.com/centos/$releasever/AppStream/$basearch/os/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official

1.3.更新yum源

yum clean all && yum makecache

1.4.安装&更新软件

yum install -y automake bison flex boost-devel libevent-devel openssl-devel python3-devel autoconf libtool cmake ncurses-devel lzo-devel zlib-devel gcc-c++ maven git make systemd-devel orc-devel clang python2 npm
# 有些包默认的版本低,需要手动更新,比如libarchive
yum update -y
# 更新完成后,要删除更细,新生成的repo,把CentOS-Base.repo恢复回来,再clean和makecache
rm -f /etc/yum.repos.d/CentOS-Linux*
mv /etc/yum.repos.d/CentOS-Base.repo(***自己替换) /etc/yum.repos.d/CentOS-Base.repo
yum clean all && yum makecache
# python手动创建软连接
ln -s /usr/bin/python2 /usr/bin/python

1.5.编译fe ui需要升级node.js从10.24.1到18.20.7(12+)

# 下载包
https://nodejs.org/dist/v18.20.7/node-v18.20.7-linux-x64.tar.xz
# 解压和替换
rm -rf ~/.npm/
tar -xJf node-v18.20.7-linux-x64.tar.xz
# 重新安装
cd /home/user/v18.20.7-linux-x64/lib/node_modules/npm
ln -s /home/user/v18.20.7-linux-x64/bin/npm /usr/bin/npm
ln -s /home/user/v18.20.7-linux-x64/bin/node /usr/bin/node
npm install -g nrm
ln -s /home/usr/v18.20.7-linux-x64/bin/nrm /usr/bin/nrm

1.6.修改maven源

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"><mirrors><!-- 镜像:阿里云仓库代理 --><mirror><id>aliyun-central</id><url>https://maven.aliyun.com/repository/public</url><mirrorOf>*,!cloudera-releases,!snapshots,!cloudera,!huawei-obs-sdk</mirrorOf></mirror></mirrors>
</settings>

验证maven源

mvn help:effective-settings
# 过程中 mvn 报错oom,添加以下参数# ​-Xmx8192m:最大堆内存提升至8GB(根据物理内存调整)# -XX:+UseG1GC:使用G1垃圾回收器优化内存回收效率
echo 'MAVEN_OPTS="-Xms4096m -Xmx8192m  -XX:MaxMetaspaceSize=1024m" -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError"' >> /usr/bin/mvn

2. 部署

2.1下载源码和三方依赖

wget https://github.com/apache/doris-thirdparty/releases/download/automation-2.0/doris-thirdparty-prebuilt-linux-x86_64.tar.xz
wget https://dist.apache.org/repos/dist/release/doris/2.1/2.1.8.1/apache-doris-2.1.8.1-src.tar.gz

2.2解压源码和三方依赖

tar -xJvf doris-thirdparty-prebuilt-linux-x86_64.tar.xz
tar -zxvf apache-doris-2.1.8.1-src.tar.gz
mv apache-doris-2.1.8.1-src doris-2.1.8
mv installed doris-2.1.8/

3. 编译

3.1先编译FE试试


# 进目录
cd doris-2.1.8/
# 先编译FE,记得先看看公网网络通不通,这一步需要连接公网
sh build.sh --fe

4. 有图有真相

在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/devtools/167550.html

相关文章

Linux下对2TB磁盘的分区、格式化、挂截目录介绍

问题背景&#xff1a; 在当今&#xff0c;大硬盘比比皆是。如果手里拿到了一块2TB或更大的硬盘&#xff0c;‌fdisk‌ 命令显示已不再适用&#xff0c;而parted 命令将可能是我们的最佳实践方案&#xff0c;因此&#xff0c;我们需要学习和掌握parted命令及相关命令的使用。 以…

【附JS、Python、C++题解】Leetcode面试150题(9)——三数之和

一、题目​​​​​ 15. 三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足&#xff1a; i!j、i!k 且 j! k &#xff0c;同时还满足&#xff1a;nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意…

Java开发之数据库应用:记一次医疗系统数据库迁移引发的异常:从MySQL到PostgreSQL的“dual“表陷阱与突围之路

记一次医疗系统数据库迁移引发的异常&#xff1a;从MySQL到PostgreSQL的"dual"表陷阱与突围之路 一、惊魂时刻&#xff1a;数据库切换引发的系统雪崩 某医疗影像系统在进行国产化改造过程中&#xff0c;将原MySQL数据库迁移至PostgreSQL。迁移完成后&#xff0c;系…

Linux 文件与目录操作指令

以下是 Linux 文件与目录操作指令的详细整理&#xff0c;涵盖 基本操作、权限管理、查找统计、压缩解压 等场景&#xff0c;包含常用选项与示例&#xff1a; 一、目录导航与查看 1. pwd&#xff1a;显示当前目录的绝对路径 <BASH> pwd # 输出&#xff1a;/hom…

Vue 中的 MVVM、MVC 和 MVP 模式深度解析

文章目录 1. 模式概览与核心概念1.1 模式定义1.2 架构对比图 2. MVC 模式详解2.1 MVC 流程图2.2 Vue 中的 MVC 实现 3. MVP 模式详解3.1 MVP 流程图3.2 Vue 中的 MVP 实现 4. MVVM 模式详解4.1 MVVM 流程图4.2 Vue 中的 MVVM 实现 5. 模式对比分析5.1 职责对比5.2 通信方式对比…

Qt:槽函数与信号

1.槽函数的参数只能小于等于信号的参数&#xff0c;不然就报错 2.两者之间是多对多关系 3.可以使用信号触发信号间接的触发槽函数 4.断开信号与槽函数的连接 4.1断开一个信号与一个槽函数的连接 disconnect(this,SIGNAL(信号函数),this,SLOT(槽函数)); 4.2断开一个信号和…

Linux磁盘与存储管理:从“空间不足”到“存储大亨”

Linux磁盘与存储管理&#xff1a;从“空间不足”到“存储大亨” 引言 磁盘空间就像你的钱包&#xff0c;永远不够用。当你发现/home目录爆满时&#xff0c;那种焦虑感不亚于月底看到信用卡账单。但别担心&#xff0c;今天我们就来聊聊Linux磁盘与存储管理&#xff0c;让你从“…

如何在AVL树中高效插入并保持平衡:一步步掌握旋转与平衡因子 —— 旋转篇

文章目录 AVL树种旋转的规则右单旋右单旋代码左单旋左单旋代码左右双旋左右单旋的代码右左单旋右左单旋的代码 AVL树种旋转的规则 在AVL树中&#xff0c;旋转是为了保持树的平衡性。AVL树是一种自平衡的二叉搜索树&#xff0c;它要求每个节点的左右子树的高度差不能超过1。当插…