news 2026/8/13 13:52:21

Apache Doris 4.0.0 存算分离手动部署指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Apache Doris 4.0.0 存算分离手动部署指南

Apache Doris 4.0.0 存算分离手动部署指南

一、准备工作

环境要求

  • 3 台以上服务器(奇数台)
  • 根据业务规模调整 CPU 和内存
  • 除修改机器名外,其他命令需在所有服务器上执行

1. 修改机器名

# node1sudohostnamectl set-hostname doris-node1# node2sudohostnamectl set-hostname doris-node2# node3sudohostnamectl set-hostname doris-node3

2. 基础配置

# 检查时钟同步sudosystemctl status chronyd# 安装 lsofsudoyuminstall-ylsof# 关闭防火墙sudosystemctl disable firewalld.service# 禁用透明大页(THP)echo"echo madvise > /sys/kernel/mm/transparent_hugepage/enabled"|sudotee-a/etc/rc.local# 禁用大页sudosysctlvm.nr_hugepages=0

3. 修改/etc/sysctl.conf

vm.max_map_count = 2000000 net.ipv4.tcp_abort_on_overflow = 1 fs.file-max = 1000000

立即生效:

sudosysctl-p

4. 修改/etc/security/limits.conf

* soft nofile 1000000 * hard nofile 1000000 root soft nofile 1000000 root hard nofile 1000000

5. 安装 Java 17

sudoyuminstall-yjava-17-openjdk java-17-openjdk-develsudotee/etc/profile.d/doris_java.sh<<EOF export JAVA_HOME=/usr/lib/jvm/java-17-openjdk export PATH=\$JAVA_HOME/bin:\$PATHEOFsource/etc/profile.d/doris_java.shsudosh-c'echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk" >> /etc/environment'java-version

6. 数据盘挂载

FE 节点(所有节点)
sudomkfs.xfs /dev/nvme1n1sudomkdir-p/data/doris-fesudomount/dev/nvme1n1 /data/doris-feecho'/dev/nvme1n1 /data/doris-fe xfs defaults 0 0'|sudotee-a/etc/fstab
BE 节点(所有节点)
sudomkfs.xfs /dev/nvme2n1sudomkdir-p/data/doris-besudomount/dev/nvme2n1 /data/doris-beecho'/dev/nvme2n1 /data/doris-be xfs defaults 0 0'|sudotee-a/etc/fstab
sudosystemctl daemon-reload

7. 创建 doris 用户

sudogroupadddorissudouseradd-gdoris-M-s/sbin/nologin doris

8. 设置目录权限

sudochown-Rdoris:doris /data/doris-fe /data/doris-besudochmod755/data/doris-fe /data/doris-be

二、安装 Doris

1. 下载与解压

cd/optwgethttps://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-4.0.0-bin-x64.tar.gztar-zxvfapache-doris-4.0.0-bin-x64.tar.gzmvapache-doris-4.0.0-bin-x64 doris-4.0.0wgethttp://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-3.0.2-tools.tar.gztar-zxvfapache-doris-3.0.2-tools.tar.gzmvtools/fdb/pkgs doris-4.0.0/tools/fdb

2. 安装 FoundationDB

mkdir/opt/foundationdb

编辑/opt/doris-4.0.0/tools/fdb/fdb_vars.sh

DATA_DIRS="/data/doris-fe/foundationdb"FDB_CLUSTER_IPS="172.16.10.110,172.16.10.111,172.16.10.112"FDB_HOME="/opt/foundationdb"FDB_CLUSTER_ID="fdbserver"FDB_CLUSTER_DESC="dorisfdb"MEMORY_LIMIT_GB=6CPU_CORES_LIMIT=2USER="doris"STORAGE_STATELESS_LOG_RATIO="1:1:1"STORAGE_PROCESSES_NUM_PER_SSD=2LOG_PROCESSES_NUM_PER_SSD=2MEMORY_STORAGE_GB=4MEMORY_STATELESS_GB=1MEMORY_LOG_GB=1

部署 FDB 集群:

/opt/doris-4.0.0/tools/fdb/fdb_ctl.sh deploy

设置权限:

sudochown-Rdoris:doris /opt/foundationdbsudochown-Rdoris:doris /data/doris-fe/foundationdbsudochmod-R750/opt/foundationdb

创建 systemd 服务/etc/systemd/system/doris-fdb.service

[Unit] Description=Doris FoundationDB Controller After=network.target [Service] User=doris Group=doris Type=forking WorkingDirectory=/opt/doris-4.0.0/tools/fdb ExecStart=/opt/doris-4.0.0/tools/fdb/fdb_ctl.sh start ExecStop=/opt/doris-4.0.0/tools/fdb/fdb_ctl.sh stop Restart=on-failure RestartSec=30s StartLimitInterval=60s StartLimitBurst=5 LimitNOFILE=1000000 [Install] WantedBy=multi-user.target

启动:

sudosystemctl daemon-reloadsudosystemctlenable--nowdoris-fdb

3. 部署 Meta Service

编辑/opt/doris-4.0.0/ms/conf/doris_cloud.conf

fdb_cluster = dorisfdb:fdbserver@172.16.10.110:4500,172.16.10.111:4500,172.16.10.112:4500

创建服务/etc/systemd/system/doris-ms.service

[Unit] Description=Doris Meta Service After=doris-fdb.service [Service] User=doris Group=doris Type=forking Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk" Environment="PATH=/usr/lib/jvm/java-17-openjdk/bin:/usr/bin:/usr/sbin" WorkingDirectory=/opt/doris-4.0.0/ms/ ExecStart=/opt/doris-4.0.0/ms/bin/start.sh --daemon ExecStop=/opt/doris-4.0.0/ms/bin/stop.sh Restart=on-failure RestartSec=30s StartLimitInterval=60s StartLimitBurst=5 LimitNOFILE=1000000 [Install] WantedBy=multi-user.target

启动并验证:

sudosystemctl daemon-reloadsudosystemctlenable--nowdoris-msps-p$(cat/opt/doris-4.0.0/ms/bin/doris_cloud.pid)ss-tulnp|grep5000

4. 部署 FE

编辑/opt/doris-4.0.0/fe/conf/fe.conf

priority_networks = 172.16.10.0/24 deploy_mode = cloud cluster_id = 388628430 meta_service_endpoint = 172.16.10.110:5000,172.16.10.111:5000,172.16.10.112:5000 meta_dir = /data/doris-fe/doris-meta sys_log_dir = /data/doris-fe/log audit_log_dir = /data/doris-fe/log LOG_DIR = /data/doris-fe/log

创建目录:

sudo-udorismkdir/data/doris-fe/doris-metasudo-udorismkdir/data/doris-fe/log

创建服务/etc/systemd/system/doris-fe.service

[Unit] Description=Doris FE After=doris-ms.service [Service] User=doris Group=doris Type=forking Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk" Environment="PATH=/usr/lib/jvm/java-17-openjdk/bin:/usr/bin:/usr/sbin" WorkingDirectory=/opt/doris-4.0.0/fe/ ExecStart=/opt/doris-4.0.0/fe/bin/start_fe.sh --daemon ExecStop=/opt/doris-4.0.0/fe/bin/stop_fe.sh Restart=on-failure RestartSec=30s StartLimitInterval=60s StartLimitBurst=5 LimitNOFILE=1000000 [Install] WantedBy=multi-user.target

启动 FE:

sudosystemctl daemon-reloadsudosystemctlenable--nowdoris-fe
配置 FE
mysql-h172.16.10.110-P9030-uroot
SETPASSWORDFOR'root'=PASSWORD('your_password');ALTERSYSTEMADDFOLLOWER"172.16.10.111:9010";ALTERSYSTEMADDFOLLOWER"172.16.10.112:9010";SHOWFRONTENDS;

5. 部署 BE

编辑/opt/doris-4.0.0/be/conf/be.conf

priority_networks = 172.16.10.0/24 deploy_mode = cloud meta_service_endpoint = 172.16.10.110:5000,172.16.10.111:5000,172.16.10.112:5000 sys_log_dir = /data/doris-be/log storage_root_path = /data/doris-be/storage,medium:SSD file_cache_path = [{"path":"/data/doris-be/file_cache","total_size":858993459200}] mem_limit = 48G storage_page_cache_limit = 25% row_cache_mem_limit = 16% inverted_index_searcher_cache_limit = 12% enable_storage_policy = true cloud_unique_id = doris-node1 # 每个节点不同:doris-node1/2/3 disable_storage_medium_check = true

创建目录:

sudo-udorismkdir/data/doris-be/logsudo-udorismkdir/data/doris-be/storagesudo-udorismkdir/data/doris-be/file_cache

创建服务/etc/systemd/system/doris-be.service

[Unit] Description=Doris BE After=network.target [Service] User=doris Group=doris Type=forking Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk" Environment="PATH=/usr/lib/jvm/java-17-openjdk/bin:/usr/bin:/usr/sbin" WorkingDirectory=/opt/doris-4.0.0/be/ ExecStart=/opt/doris-4.0.0/be/bin/start_be.sh --daemon ExecStop=/opt/doris-4.0.0/be/bin/stop_be.sh Restart=on-failure RestartSec=30s StartLimitInterval=60s StartLimitBurst=5 LimitNOFILE=1000000 [Install] WantedBy=multi-user.target

启动 BE:

sudosystemctl daemon-reloadsudosystemctlenable--nowdoris-be

注册 BE 节点:

ALTERSYSTEMADDBACKEND"172.16.10.110:9050";ALTERSYSTEMADDBACKEND"172.16.10.111:9050";ALTERSYSTEMADDBACKEND"172.16.10.112:9050";SHOWBACKENDS;

三、运维调试

检查 FoundationDB

/opt/doris-4.0.0/tools/fdb/fdb_ctl.sh fdbcli--exec"status details"

查看 Meta Service 日志

journalctl-udoris-ms-n50--no-pager

清理 FDB(元数据冲突时重建)

sudo-udoris /opt/doris-4.0.0/tools/fdb/fdb_ctl.sh clean

BE 优雅下线

ALTERSYSTEM DECOMMISSION BACKEND"172.16.10.112:9050";-- 等待 SystemDecommissioned = true, TabletNum = 0ALTERSYSTEMDROPBACKEND"172.16.10.112:9050";

增加 BE 节点

ALTERSYSTEMADDBACKEND"172.16.10.112:9050";

四、注意事项与建议

  1. 版本稳定性:4.0.0 版本存在视图关联查询报错、元数据差异等问题,建议使用更新的稳定版本。
  2. 高可用:建议部署 Nginx 代理 FE 的 9030 端口,避免主 FE 节点宕机后客户端无法访问。程序连接可配置三个 FE 地址。

以上为完整的 Apache Doris 4.0.0 存算分离手动部署指南。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/13 13:51:21

三步搞定微信/QQ/TIM防撤回:RevokeMsgPatcher完整上手指南

三步搞定微信/QQ/TIM防撤回&#xff1a;RevokeMsgPatcher完整上手指南 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://gitcod…

作者头像 李华
网站建设 2026/8/13 13:51:04

揭秘徐州高端网站建设背后的逻辑与陷阱,企业到底该如何选对合作伙伴

在这个互联网流量红利逐渐见顶、获客成本越来越高的时代,很多徐州的企业主都在问同一个问题:我的网站还需要做吗?当然需要,而且比以往任何时候都更需要。但是,大家对于“网站”二字的认知,可能还停留在十年前那个随便找个模板、填点文字图片就能上线的阶段。现在的市场逻…

作者头像 李华
网站建设 2026/8/13 13:49:03

AI与人际互动中的自我认知:如何将反馈转化为成长动力

你有没有过这样的体验&#xff1a;深夜&#xff0c;你对着一个 AI 工具&#xff0c;输入一个又一个问题&#xff0c;从技术细节问到人生哲学。起初&#xff0c;你惊叹于它给出的答案&#xff0c;觉得它无所不知。但渐渐地&#xff0c;你发现&#xff0c;它给出的答案越是精妙&a…

作者头像 李华
网站建设 2026/8/13 13:48:34

关于图论【最短路径之Floyd 算法|卡码网97.小明逛公园的思考】

目录 一、本题题目 二、本题代码 三、关键思路 四、注意事项 一、本题题目 二、本题代码 // 展示完整代码 三、关键思路 1、Floyd和动态规划结合 2、三维数组&#xff0c;dp[i][j][k] 3、遍历顺序&#xff0c;先遍历k 四、注意事项 1、用邻接矩阵存无向图的时候要注意s…

作者头像 李华
网站建设 2026/8/13 13:47:03

(BPPM)按进程名称查看其内存和CPU使用SQL

1.定制SQLselect cfg.devicename,cfg.targetip,cfg.instname,unix_date_to_oracle(st.TIMERECORDED),st.PROCPPMEM as mem_kb,st.PROCPPCPUPERC from "_PATROL__PRO_0_ST_VIEW" st,"_PATROL__PRO_0_CFG_VIEW" cfg where st.MOINSTIDcfg.moinstid and cfg.i…

作者头像 李华