Ubuntu二进制安装Apache Doris(2.1版本)

标题

  • [一、 下载二进制包](#一、 下载二进制包)
  • 二、修改环境变量
  • [三、安装 FE](#三、安装 FE)
    • 1.先确定java配置
    • [2.在解压后的文件夹下编辑 FE 配置文件](#2.在解压后的文件夹下编辑 FE 配置文件)
    • [3.启动 FE](#3.启动 FE)
    • [4.检查 FE 状态](#4.检查 FE 状态)
  • [四、安装 BE](#四、安装 BE)
    • [1.配置 BE](#1.配置 BE)
    • [2.启动 BE](#2.启动 BE)
    • [3.在集群中注册 BE 节点](#3.在集群中注册 BE 节点)
    • [4.检查 BE 状态](#4.检查 BE 状态)
  • [五、 运行查询](#五、 运行查询)
  • [五、 设置开机自启](#五、 设置开机自启)

一、 下载二进制包

下载对应的 Doris 二进制安装包,并解压到指定目录。

我们问需要看项目的JDK版本。JDK8的话就使用2.1版本,17可以使用3.x和4.x版本
2.1GitHub下载链接
3.x和4.x下载链接

二、修改环境变量

1.修改系统最大打开文件句柄数

通过以下命令可以调整最大文件句柄数。在调整后,需要重启会话以生效配置:

java 复制代码
nano /etc/security/limits.conf 

在最后加上

java 复制代码
* soft nofile 655350
* hard nofile 655350
root soft nofile 655350
root hard nofile 655350

修改 systemd 服务配置

java 复制代码
sudo nano /etc/systemd/system.conf

添加或修改

java 复制代码
DefaultLimitNOFILE=655350
java 复制代码
sudo nano /etc/systemd/user.conf

添加或修改

java 复制代码
DefaultLimitNOFILE=655350

修改 pam 配置

java 复制代码
sudo nano /etc/pam.d/common-session

确保包含:

java 复制代码
session required pam_limits.so

重启系统

java 复制代码
sudo reboot

检查配置

java 复制代码
ulimit -n

2.修改虚拟内存区域

通过以下命令可以永久修改虚拟内存区域至少为 2000000,并立即生效:

java 复制代码
cat >> /etc/sysctl.conf << EOF
vm.max_map_count = 2000000
EOF
java 复制代码
sudo sysctl -p

三、安装 FE

1.先确定java配置

java 复制代码
echo $JAVA_HOME

我的就是

java 复制代码
/usr/lib/jvm/java-8-openjdk-amd64

2.在解压后的文件夹下编辑 FE 配置文件

解压后文件目录

进入fe,修改 /fe/conf/fe.conf

java 复制代码
nano fe.conf
java 复制代码
## 指定 Java 环境
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

# 指定 FE 监听 IP 的 CIDR 网段
priority_networks=127.0.0.1/32

3.启动 FE

执行 start_fe.sh 脚本启动 FE 进程:

java 复制代码
apache-doris/fe/bin/start_fe.sh --daemon

4.检查 FE 状态

使用 MySQL 客户端连接集群,并检查集群状态:

java 复制代码
mysql -uroot -P9030 -h127.0.0.1 -e "show frontends;"

四、安装 BE

1.配置 BE

修改 BE 配置文件 apache-doris/be/conf/be.conf 的以下内容:

java 复制代码
## 指定 Java 环境
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

# 指定 FE 监听 IP 的 CIDR 网段
priority_networks=127.0.0.1/32

2.启动 BE

通过以下命令启动 BE 进程:

java 复制代码
apache-doris/be/bin/start_be.sh --daemon

如果出现

Please disable swap memory before installation

使用命令行永久禁用

java 复制代码
# 备份 fstab 文件
sudo cp /etc/fstab /etc/fstab.bak

# 注释掉所有包含 swap 的行
sudo sed -i '/swap/s/^/#/' /etc/fstab

再次启动BE即可

如果出现这个,就算上面一开始的配置没有配好

3.在集群中注册 BE 节点

使用 MySQL 客户端连接 Doris:

java 复制代码
mysql -uroot -P9030 -h127.0.0.1

使用 ADD BACKEND 命令注册 BE 节点:

java 复制代码
ALTER SYSTEM ADD BACKEND "127.0.0.1:9050";

4.检查 BE 状态

java 复制代码
mysql -uroot -P9030 -h127.0.0.1 -e "show backends;"

五、 运行查询

java 复制代码
mysql -uroot -P9030 -h127.0.0.1

修改密码

java 复制代码
# 在MySQL中执行以下命令:
ALTER USER 'root'@'%' IDENTIFIED BY 'YourSecurePassword123!';

五、 设置开机自启

首先关闭 fe和be

java 复制代码
/opt/apache-doris-2.1.10-bin-x64/fe/bin/stop_fe.sh
/opt/apache-doris-2.1.10-bin-x64/be/bin/stop_be.sh

配置 Doris FE 为 systemd 服务

java 复制代码
sudo nano /etc/systemd/system/doris-fe.service

添加以下内容

java 复制代码
[Unit]
Description=Apache Doris Frontend
After=network.target

[Service]
Type=forking
ExecStart=/opt/apache-doris-2.1.10-bin-x64/fe/bin/start_fe.sh --daemon
ExecStop=/opt/apache-doris-2.1.10-bin-x64/fe/bin/stop_fe.sh
Restart=on-failure
LimitNOFILE=655350

[Install]
WantedBy=multi-user.target

配置 Doris BE 为 systemd 服务

java 复制代码
sudo nano /etc/systemd/system/doris-be.service
java 复制代码
[Unit]
Description=Apache Doris Backend
After=network.target

[Service]
Type=forking
ExecStart=/opt/apache-doris-2.1.10-bin-x64/be/bin/start_be.sh --daemon
ExecStop=/opt/apache-doris-2.1.10-bin-x64/be/bin/stop_be.sh
Restart=on-failure
LimitNOFILE=655350

[Install]
WantedBy=multi-user.target
java 复制代码
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable doris-fe
sudo systemctl enable doris-be

sudo systemctl start doris-fe
sudo systemctl start doris-be

查看服务状态

java 复制代码
sudo systemctl status doris-fe
sudo systemctl status doris-be
相关推荐
XIAOHEZIcode5 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫7 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者6 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo6 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10157 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux