资讯动态

从零搭建 Apache Doris + DolphinScheduler:保姆级步步实操手册(附完整命令)

发布时间:2026/8/26 20:19:14 来源:尧图企业网站定制
制造业数据与AI践行者老蒋的技术博客全系列文章汇总持续更新 文章摘要本文是一份可直接复现的 Apache Doris DolphinScheduler 部署实操指南从 VMware 虚拟机创建、AlmaLinux 9.8 环境配置到 Doris 4.0.8 部署、DolphinScheduler 3.1.9 安装与 MySQL 元数据持久化配置全程附完整命令与验证方法帮你避开网络、环境、组件配置等常见坑照着做即可搭起完整数据底座实验环境。 前置准备清单系统镜像AlmaLinux 9.8 x86_64 DVD ISO安装包Apache Doris 4.0.8、Apache DolphinScheduler 3.1.9、MySQL Connector/J 8.0.33最低硬件8 核 CPU / 16GB 内存 / 80GB 以上磁盘基础要求掌握基础 Linux 命令目录开篇为什么要有这篇“步步实操版”Step 1创建虚拟机1.1 VMware新建虚拟机1.2 安装AlmaLinux 9.8Step 2网络配置2.1 查看网卡名称和当前状态2.2 配置静态IP2.3 配置国内镜像源加速后续软件安装Step 3基础环境配置3.1 安装必要工具3.2 关闭SwapDoris官方强制要求3.3 安装Java 17Doris 4.x必须3.4 调整系统参数Doris要求Step 4磁盘扩容如需要4.1 VMware层面扩容4.2 系统内扩展分区Step 5部署Apache Doris5.1 下载并解压5.2 配置FEFrontend5.3 配置BEBackend5.4 启动FE5.5 启动BE5.6 验证DorisStep 6部署Apache DolphinScheduler6.1 下载并解压6.2 启动Standalone模式6.3 验证DolphinSchedulerStep 7MySQL元数据持久化7.1 安装MySQL7.2 创建DolphinScheduler数据库和用户7.3 添加MySQL JDBC驱动7.4 修改DolphinScheduler配置7.5 修改tools模块配置7.6 初始化表结构7.7 重启DolphinSchedulerStep 8配置Doris数据源总结走到这一步数据底座就搭好了系列导航互动与交流关于作者开篇为什么要有这篇“步步实操版”兄弟们上一篇文章《制造企业数仓选型实战为什么我们选了 Apache Doris DolphinScheduler》我讲了为什么选DorisDolphinScheduler讲的是“选型逻辑”。结果文章发出去之后有读者留言“老蒋道理我都懂但能不能给一份照着做就能搭起来的步骤我自己折腾了一周卡在网络配置上了。”我当时的第一反应是这不科学啊……搭建数据平台确实有不少坑虚拟机网络不通、磁盘空间不足、Java版本不匹配、Doris BE注册失败、DolphinScheduler重启丢数据……这些坑我已经替你们踩过一遍了。所以这篇文章的定位很简单从零开始一步步搭起Doris DolphinScheduler让你照着做就能跑通。适合谁读想快速搭建DorisDolphinScheduler实验环境的数据工程师、架构师、IT运维。脱敏声明本文基于智联工坊虚拟场景所有配置均已脱敏处理。前置说明本文使用的环境配置项目配置宿主机Windows 11 VMware Workstation 17.5.2虚拟机OSAlmaLinux 9.8虚拟机资源8核CPU / 16GB内存 / 100GB磁盘Doris版本Apache Doris 4.0.8DolphinScheduler版本Apache DolphinScheduler 3.1.9Java版本OpenJDK 17MySQL版本8.0.46用于DS元数据持久化虚拟机IP192.168.174.100NAT模式本文DolphinScheduler版本选用 3.1.9 作为长期稳定版兼容性更好、坑更少最适合新手入门搭建实验环境。Step 1创建虚拟机1.1 VMware新建虚拟机打开VMware Workstation点击“创建新的虚拟机”选择“典型推荐”→ 下一步选择“安装程序光盘映像文件iso”→ 浏览选中AlmaLinux-9.8-x86_64-dvd.iso→ 下一步客户机操作系统Linux→ 版本Red Hat Enterprise Linux 9 64位→ 下一步虚拟机名称AlmaLinux-9.8-Doris-DS→ 位置建议改到非系统盘 → 下一步磁盘容量80GB后续可扩容→ 选择“将虚拟磁盘存储为单个文件” → 下一步点击“自定义硬件”→ 内存设为16GB→ 处理器设为8核→ 网络适配器选择NAT模式→ 关闭 → 完成1.2 安装AlmaLinux 9.8启动虚拟机选择“Install AlmaLinux 9.8”选择语言English / 中文均可关键配置安装源保持默认本地介质软件选择建议选“Server with GUI”新手友好或“Minimal Install”轻量安装位置自动分区即可网络与主机名打开网络开关记录网卡名称如ens160Root密码设置并牢记创建用户可选点击“开始安装”等待完成安装完成后重启用root登录提醒安装过程如果卡在“正在下载软件包”是因为安装源默认连接了外网。直接断开虚拟机网络VMware菜单→虚拟机→可移动设备→网络适配器→断开连接然后重新点击“开始安装”系统会强制使用本地DVD镜像。Step 2网络配置2.1 查看网卡名称和当前状态ip addr show2.2 配置静态IP# 查看当前连接名称 nmcli connection show # 配置静态IP假设网卡为 ens160IP为 192.168.174.100 nmcli connection modify ens160 ipv4.addresses 192.168.174.100/24 nmcli connection modify ens160 ipv4.gateway 192.168.174.2 nmcli connection modify ens160 ipv4.dns 223.5.5.5 114.114.114.114 nmcli connection modify ens160 ipv4.method manual nmcli connection modify ens160 connection.autoconnect yes # 重启网络 nmcli connection down ens160 nmcli connection up ens160 # 验证 ip addr show ens160 ping -c 4 114.114.114.114⚠️注意网关地址192.168.174.2是VMware NAT模式的默认网关。如果你的VMnet8网段不同请先执行ip route show确认网关地址。2.3 配置国内镜像源加速后续软件安装# 备份原源 mkdir -p /etc/yum.repos.d/backup mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ # 创建阿里云源 cat /etc/yum.repos.d/ali.repo EOF [baseos] nameAlmaLinux 9 - BaseOS baseurlhttps://mirrors.aliyun.com/almalinux/9/BaseOS/$basearch/os/ gpgcheck1 enabled1 gpgkeyhttps://mirrors.aliyun.com/almalinux/RPM-GPG-KEY-AlmaLinux [appstream] nameAlmaLinux 9 - AppStream baseurlhttps://mirrors.aliyun.com/almalinux/9/AppStream/$basearch/os/ gpgcheck1 enabled1 gpgkeyhttps://mirrors.aliyun.com/almalinux/RPM-GPG-KEY-AlmaLinux EOF # 清理并重建缓存 dnf clean all dnf makecacheStep 3基础环境配置3.1 安装必要工具dnf install -y wget curl tar unzip bzip2 net-tools vim3.2 关闭SwapDoris官方强制要求# 临时关闭 swapoff -a # 永久关闭注释fstab中的swap行 sed -i /swap/s/^/#/ /etc/fstab # 验证 free -m # Swap total 应为 03.3 安装Java 17Doris 4.x必须# 安装Java 17 dnf install -y java-17-openjdk java-17-openjdk-devel # 配置JAVA_HOME为doris用户单独配置 useradd -m -s /bin/bash doris echo export JAVA_HOME/usr/lib/jvm/java-17-openjdk-$(ls /usr/lib/jvm/ | grep java-17-openjdk-17 | head -1) /home/doris/.bashrc echo export PATH\$JAVA_HOME/bin:\$PATH /home/doris/.bashrc3.4 调整系统参数Doris要求# 文件句柄限制 cat /etc/security/limits.conf EOF * soft nofile 65536 * hard nofile 65536 * soft nproc 65536 * hard nproc 65536 EOF # 内存映射区域 echo vm.max_map_count 2000000 /etc/sysctl.conf echo fs.file-max 1000000 /etc/sysctl.conf sysctl -p3.5 关闭防火墙很容易中招# 关闭防火墙并禁用开机自启 systemctl stop firewalld systemctl disable firewalld # 临时关闭SELinux setenforce 0 # 永久关闭SELinux sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/configStep 4磁盘扩容如需要VMware默认20GB空间对于Doris来说不够强烈建议扩容到80-100GB。4.1 VMware层面扩容关闭虚拟机右键虚拟机 →设置→ 硬盘 →扩展→ 输入新容量如100GB→ 确定启动虚拟机4.2 系统内扩展分区# 查看当前磁盘状态 lsblk # 确认 nvme0n1 总大小已变为100G # 安装扩容工具 dnf install -y cloud-utils-growpart # 扩展分区注意设备名可能为 nvme0n1 或 sda growpart /dev/nvme0n1 2 # 刷新分区表 partprobe /dev/nvme0n1 # 扩展物理卷 pvresize /dev/nvme0n1p2 # 扩展逻辑卷 lvextend -l 100%FREE /dev/almalinux/root # 扩展文件系统AlmaLinux 9默认XFS xfs_growfs / # 验证 df -hStep 5部署Apache Doris5.1 下载并解压# 切换到doris用户 su - doris # 创建部署目录 mkdir -p /opt/doris cd /opt/doris # 下载Doris 4.0.8阿里云镜像加速 wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-4.0.8-bin-x64.tar.gz # 解压 tar -xzvf apache-doris-4.0.8-bin-x64.tar.gz mv apache-doris-4.0.8-bin-x64 doris-4.0.8 cd doris-4.0.85.2 配置FEFrontendcd /opt/doris/doris-4.0.8/fe/conf cp fe.conf fe.conf.bak cat fe.conf EOF # 元数据目录 meta_dir /opt/doris/doris-4.0.8/fe/doris-meta # 网卡绑定 priority_networks 192.168.174.100/24 # JVM内存 JAVA_OPTS-Xmx4096m -Xms2048m -XX:UseG1GC EOF5.3 配置BEBackendcd /opt/doris/doris-4.0.8/be/conf cp be.conf be.conf.bak cat be.conf EOF # 存储目录 storage_root_path /opt/doris/doris-4.0.8/be/storage # 网卡绑定 priority_networks 192.168.174.100/24 EOF5.4 启动FEcd /opt/doris/doris-4.0.8/fe ./bin/start_fe.sh --daemon sleep 10 # 检查FE状态 curl http://127.0.0.1:8030/api/bootstrap # 预期返回: {status:OK,msg:Success}5.5 启动BEcd /opt/doris/doris-4.0.8/be ./bin/start_be.sh --daemon sleep 10 # 查看BE日志确认启动 tail -50 log/be.INFO注册BE节点到FE单节点实验环境执行一次即可多节点集群需逐个添加所有 BE 节点-- 在MySQL客户端中执行将BE节点注册到FE ALTER SYSTEM ADD BACKEND 192.168.174.100:9050;5.6 验证Doris# 安装MySQL客户端用于连接Doris dnf install -y mysql # 连接Doris mysql -h 127.0.0.1 -P 9030 -u root在MySQL中执行SHOW FRONTENDS\G; -- 预期: IsMaster: true, Alive: true SHOW BACKENDS\G; -- 预期: Alive: true -- 创建测试表验证 CREATE DATABASE testdb; USE testdb; CREATE TABLE test_table ( id INT, name VARCHAR(50), value INT ) DISTRIBUTED BY HASH(id) BUCKETS 1 PROPERTIES (replication_num 1); INSERT INTO test_table VALUES (1, test1, 100), (2, test2, 200); SELECT * FROM test_table; -- 预期返回2行数据Step 6部署Apache DolphinScheduler6.1 下载并解压# 切换到dolphinscheduler用户 useradd -m -s /bin/bash dolphinscheduler passwd dolphinscheduler # 设置密码 # 切换到dolphinscheduler用户 su - dolphinscheduler # 下载DolphinScheduler 3.1.9 cd /opt wget https://downloads.apache.org/dolphinscheduler/3.1.9/apache-dolphinscheduler-3.1.9-bin.tar.gz # 解压 tar -xzvf apache-dolphinscheduler-3.1.9-bin.tar.gz mv apache-dolphinscheduler-3.1.9-bin dolphinscheduler6.2 启动Standalone模式cd /opt/dolphinscheduler ./bin/dolphinscheduler-daemon.sh start standalone-server # 查看日志确认启动 tail -100 standalone-server/logs/dolphinscheduler-standalone.log6.3 验证DolphinScheduler浏览器访问http://192.168.174.100:12345/dolphinscheduler/ui默认账号admin/ 密码dolphinscheduler123Step 7MySQL元数据持久化DolphinScheduler默认使用H2内存数据库重启后数据会全部丢失。必须切换到MySQL。7.1 安装MySQL# 以root用户执行 dnf install -y mysql-server systemctl start mysqld systemctl enable mysqld # 获取临时密码 grep temporary password /var/log/mysqld.log # 登录并修改密码 mysql -u root -p ALTER USER rootlocalhost IDENTIFIED BY Root2026#Secure; FLUSH PRIVILEGES; EXIT;7.2 创建DolphinScheduler数据库和用户CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE USER ds_user% IDENTIFIED BY Ds2026#Secure; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO ds_user%; CREATE USER ds_userlocalhost IDENTIFIED BY Ds2026#Secure; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO ds_userlocalhost; FLUSH PRIVILEGES; EXIT;7.3 添加MySQL JDBC驱动# 切换到dolphinscheduler用户 su - dolphinscheduler # 下载驱动如果还未下载 cd /tmp wget https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.33/mysql-connector-j-8.0.33.jar # 复制到所有需要的目录 cp /tmp/mysql-connector-j-8.0.33.jar /opt/dolphinscheduler/standalone-server/libs/ cp /tmp/mysql-connector-j-8.0.33.jar /opt/dolphinscheduler/tools/libs/7.4 修改DolphinScheduler配置编辑/opt/dolphinscheduler/standalone-server/conf/application.yamlspring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicodetruecharacterEncodingUTF-8useSSLfalseallowPublicKeyRetrievaltrueserverTimezoneAsia/Shanghai username: ds_user password: Ds2026#Secure hikari: connection-test-query: SELECT 1 minimum-idle: 5 maximum-pool-size: 20 pool-name: dolphinHikariCP auto-commit: true idle-timeout: 30000 max-lifetime: 1800000 connection-timeout: 30000 sql: init: schema-locations: classpath:sql/dolphinscheduler_mysql.sql mode: always platform: mysql7.5 修改tools模块配置编辑/opt/dolphinscheduler/tools/conf/application.yaml将默认数据源改为MySQL内容同上修改datasource部分。7.6 初始化表结构cd /opt/dolphinscheduler DATABASEmysql ./tools/bin/upgrade-schema.sh7.7 重启DolphinScheduler./bin/dolphinscheduler-daemon.sh stop standalone-server sleep 5 ./bin/dolphinscheduler-daemon.sh start standalone-server # 查看日志 tail -100 standalone-server/logs/dolphinscheduler-standalone.log预期日志看到HikariPool-1 - Start completed.表示MySQL连接成功。Step 8配置Doris数据源登录DolphinScheduler Web UI点击“安全中心”→“数据源中心”→“创建数据源”选择“MySQL”Doris兼容MySQL协议填写配置数据源名称doris-datasourceIP192.168.174.100端口9030用户名root密码留空Doris默认无密码数据库名testdb点击“测试连接”→ 显示“连接成功”点击“提交”常见报错速查表常见问题大概率原因快速解决方法FE 启动失败、日志报 Java 相关错误Java 版本不匹配确认安装 Java 17且 JAVA_HOME 配置正确BE 启动后在 FE 中看不到防火墙未关、端口不通、未手动注册关闭防火墙执行 ADD BACKEND 命令DolphinScheduler Web 打不开端口被占用、服务未启动成功查看日志排查确认 12345 端口放行MySQL 持久化后启动报错驱动未放置、时区配置错误检查 libs 目录下是否有驱动URL 补充时区参数总结走到这一步数据底座就搭好了怕你忘了我再啰嗦一遍本文的目标只有一个——让你照着操作就能搭起一套能用的Doris DolphinScheduler环境。你已完成的关键里程碑步骤状态虚拟机创建 AlmaLinux安装✅静态IP网络配置✅Swap关闭✅Java 17环境✅Doris 4.0.8部署✅DolphinScheduler 3.1.9部署✅MySQL元数据持久化✅Doris数据源连接测试✅做了二十多年 IT环境部署这件事最害人的就是 “教程跳步、默认你懂”。把每一步都写透让新手少熬几个通宵比讲多少高大上的架构都实在。实在人不是说说而已的接下来你可以关注收藏下一步将继续输出《DolphinScheduler生产级调度实战》学习定时调度、条件分支、跨任务传参《配套的3篇排坑笔记》系列导航系列传送门【制造业数据与AI落地实战】 【WorkBuddy工作场景应用实践】 【AI赋能数据开发工程手册】上一篇智联工坊数据底座选型实战为什么选DorisDolphinScheduler下一篇《DolphinScheduler生产级调度实战定时调度、条件分支与跨任务传参完全指南》即将发布【热榜文精品推荐】TOP1、我用 WorkBuddy 分析了 30 篇 CSDN 博客发现 3 个反直觉的流量真相TOP2、还在翻 git log 写周报WorkBuddy 一键生成结构化周报TOP3、老攻城狮的AI开发环境搭建全记录从零到跑通本地大模型一日速通版TOP4、LangChain Agent 反复调用工具死循环结构化返回 Prompt 规则TOP5、智联工坊实战多工具协同Agent让AI像人类一样规划与执行复杂任务TOP6、代码审查不想得罪人WorkBuddy 先做第一轮审查互动与交流你在搭建Doris或DolphinScheduler的过程中有没有遇到本文没覆盖到的坑欢迎评论区留言我会逐一回复——说实话部署环境这件事坑真的不少。关于作者制造业数据与AI践行者老蒋23年IT老兵。聚焦制造业数据架构与AI融合落地。全流程实战全源码开源。标签#Apache Doris#DolphinScheduler#实时数仓#大数据部署#运维实操#数据架构#制造业数据#数仓搭建

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价