当前位置: 首页 > news >正文

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 存算分离手动部署指南。

http://www.cnnetsun.cn/news/4001950.html

相关文章:

  • 三步搞定微信/QQ/TIM防撤回:RevokeMsgPatcher完整上手指南
  • 揭秘徐州高端网站建设背后的逻辑与陷阱,企业到底该如何选对合作伙伴
  • 免费开源macOS鼠标指针主题 Apple Cursor 完整上手指南:把苹果设计装进你的 Windows 与 Linux
  • AI与人际互动中的自我认知:如何将反馈转化为成长动力
  • 关于图论【最短路径之Floyd 算法|卡码网97.小明逛公园的思考】
  • (BPPM)按进程名称查看其内存和CPU使用SQL
  • 河源网站建设公司:为什么中小企业的官网成了流量黑洞?揭秘低成本获客的真相
  • Gemini 导出 pdf 颜色不一样怎么办?AI 导出鸭结合行业白皮书数据,从技术层面解决文档导出偏色难题
  • 游戏自动化工具技术解析:从同步器到图像识别的攻防实战
  • 揭秘上海网站建设外包的真相:找对团队让企业官网成为业务增长的强劲引擎
  • 史上最大规模图灵测试:GPT-4等AI在对话中已能以60%-70%概率被误认为人类
  • 从启动闪退到一键管理:《幽浮2》玩家必装的AML启动器实战指南
  • 向僵尸开炮辅助脚本工具(支持zfb网页版,vx电脑小程序,DY电脑小程序等)
  • 颠覆认知!小模型反杀大模型,DeepSeek Flash上演离谱逆袭
  • 可白嫖源码---springboot智慧医疗APP[编号:project39017](案例分析)-附源码
  • 《指纹浏览器开发实战》 - 专栏介绍和目录
  • MMaDA-Parallel: Multimodal Large Diffusion Language Models for Thinking-Aware Editing and Generation
  • JetBrains Mono 快速上手指南:一款为开发者设计的免费字体,如何 3 步告别代码辨认难题
  • 大数据处理实战:分布式计算与存储优化
  • 第二章 循环结构程序设计
  • 揭秘绵阳网站建设费用背后的真实逻辑,为什么你的报价总是差这么多
  • 开源AI视频工具ZJT智剧通:从文本到分镜与口型同步实战指南
  • The Empowerment of Science of Science by Large Language Models: New Tools and Methods
  • TranslucentTB:让你的Windows任务栏焕然一新的透明美化神器
  • 硬盘分区消失、照片被误删?TestDisk 与 PhotoRec 数据恢复完整指南
  • 零基础快速制作专业泳道图的实用指南
  • 心血管损伤多通路同步检测取得突破!云克隆液相悬浮芯片推出血管病变 10 标志物 CBA 多因子检测方案
  • Python多进程与队列实战:突破GIL限制,实现高效并行计算
  • C++日志库选型指南:从Qt项目实践到18种方案对比
  • VisualCppRedist AIO:3分钟搞定VC++运行库一键安装,从此告别DLL报错与游戏闪退