在 Ubuntu 上安装 Docker 并运行 DolphinScheduler
一、背景与选型1.1 定义Apache DolphinScheduler 是一个可视化、分布式的大数据工作流任务调度系统。通俗点说就是用来编排和自动执行你那些复杂ETL任务的“指挥中心”。可以把之前写的各个SQL脚本、Shell脚本都拖拽成一个有依赖关系的流程图DAG然后设定好时间比如每天凌晨2点它就会按时自动执行并监控每个任务的运行状态为什么用DolphinScheduler在数据开发中任务编排是绕不开的痛点。早期用 Crontab 凑合任务一多依赖关系就乱成麻失败重试全靠手动半夜被告警叫醒翻日志是常态。DolphinScheduler 解决的就是这个问题——用可视化 DAG 把依赖理清楚支持自动重试、补数和告警而且部署轻量不依赖外部数据库而且 DolphinScheduler 是国产开源项目文档和社区交流都是中文新手更容易上手。相比 Airflow 和 Azkaban它更轻、更易上手用 Docker 一键部署就能快速搭建一套可靠的任务调度系统。所以我选择它作为调度底座。1.2 主流调度工具对比对比维度AzkabanAirflowDolphinScheduler核心定位LinkedIn开源的轻量级Hadoop任务调度器主打简单依赖和定时执行。Airbnb开源以代码定义工作流Python的国际标准调度平台Apache顶级项目。易观开源的可视化DAG工作流调度系统Apache顶级项目国内企业友好型。优点1.架构简单依赖少仅需MySQL部署和上手快。2.Hadoop原生支持对Hive、Pig等任务友好。3.轻量稳定适合低复杂度、纯离线场景。1.DAG表达能力极强支持复杂条件分支、动态任务Python代码灵活度最高。2.生态无比丰富拥有海量Operator和插件是DataOps/MLOps的事实标准。3.社区极其活跃版本迭代快云厂商和主流数据工具默认支持。1.UI体验极佳拖拽式可视化DAG定义业务人员也能参与。2.大数据生态集成对Spark、Flink、Hive等任务支持完善国内数据中台事实标准。3.去中心化高可用多Master/Worker架构运维相对简单支持多租户和资源队列。缺点1.功能薄弱DAG表达能力弱不支持复杂分支、条件判断和任务重试。2.权限粗糙仅有项目级权限多团队管理混乱。3.社区停滞更新缓慢与现代数据栈割裂不推荐新项目使用。1.运维复杂组件多Scheduler, Web, Executor, MetaDB调优门槛高。2.Python门槛必须用Python写DAG非开发人员无法直接使用。3.性能瓶颈Scheduler基于轮询和数据库任务量巨大时存在性能压力。1.Python生态较弱动态DAG能力和自定义灵活性不如Airflow。2.二次开发成本高海外社区影响力相对有限深度定制不如Airflow方便。3.细粒度权限管控部分权限管控能力有待加强追求国际标准、生态丰富、团队Python技术强→选Airflow。它是数据工程领域最通用的“瑞士军刀”。追求易用性、可视化、团队技术栈偏Java/Scala或想低门槛→选DolphinScheduler。它在国内企业的数据中台建设中已成为事实标准。维护老Hadoop系统任务量很小→可以继续用Azkaban。但任何新项目都不建议再选它二、部署方式对比为什么选择Docker部署DS对比项Docker 方式二进制包方式下载大小~1.5 GB~300 MB网络要求高经常卡住低环境依赖只需 Docker需要 Java 8启动速度快镜像已下载快与大数据组件集成需要配置网络直接配置路径即可适用场景体验/测试生产部署综上对比我开始了我的DS探索之旅。下面来讲DolphinScheduler的部署三、Docker部署Docker 方式一键搞定不用折腾环境3.1 安装docker打开Ubuntu终端运行# 更新软件包索引 sudo apt update # 安装依赖 sudo apt install -y apt-transport-https ca-certificates curl software-properties-common # 添加 Docker 官方 GPG 密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 知道 自己的 Ubuntu 版本 lsb_release -a # 添加 Docker 稳定版仓库根据你的 Ubuntu 版本如 20.04 或 22.04 echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 添加 Docker 官方仓库 版本是 Ubuntu 22.04 Jammy echo deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装 Docker sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io # 将当前用户加入 docker 组避免每次都用 sudo sudo usermod -aG docker $USER #执行完后退出当前终端会话重新登录或者执行 newgrp docker让权限生效。 # 启动 Docker 并设置开机自启 sudo systemctl enable docker sudo systemctl start docker验证一下docker是否正常docker --version #正常显示版本号说明安装成功验证普通用户能否执行 docker 命令docker --version # 不报权限错误就说明配置好了启动 DolphinScheduler单机体验遇到拉取docker镜像失败遇到报错connection refused说明 Docker 无法连接到 Docker Hub 官方镜像仓库。这是网络问题通常是国内访问 Docker Hub 被限制或速度太慢导致的。解决方案——尝试配置 Docker 国内镜像加速器配了中科大、网易、百度等镜像加速源还可以选择阿里云专属加速器。还可以采取用其他方式部署——直接下载DolphinScheduler 的二进制包运行不依赖 Docker注意Docker镜像拉取失败时建议改用二进制包方式部署四、二进制包部署4.1 下载安装包在遇到其他镜像源拉取不顺利的情况下用官方归档站archive.apache.org它是最稳定、不会变动的下载源。wget https://archive.apache.org/dist/dolphinscheduler/3.2.2/apache-dolphinscheduler-3.2.2-bin.tar.gz # 用 Apache 的永久归档链接比 dlcdn 镜像更可靠不会出现 404 的情况然后就是漫长的等待过程经历了3次断点续传耗时4h31ms4.2 解压与启动终于漫漫waiting过去了下载好 了# 解压安装包 tar -xvzf apache-dolphinscheduler-3.2.2-bin.tar.gz # 进入解压后的目录 cd apache-dolphinscheduler-3.2.2-bin # 启动 Standalone Server 服务 bash ./bin/dolphinscheduler-daemon.sh start standalone-server想关闭服务如下执行启动命令服务就会重新跑起来然后打开浏览器访问 就能使用了。cd apache-dolphinscheduler-3.2.2-binbash ./bin/dolphinscheduler-daemon.sh start standalone-server五、web界面访问默认账号admin密码dolphinscheduler123。URL:http://你的Ubuntu IP地址:12345/dolphinscheduler/ui如果是在虚拟机里运行 Ubuntu需要确认网络模式是桥接模式Bridged或 NAT 端口转发确保宿主机能访问到虚拟机的 IP。六、DS后台实操下面来跑一个调度任务并跑通一个 Shell 任务。目标创建一个简单的 Shell 工作流并定时运行它① 创建租户 (Tenant)租户就是 DolphinScheduler 用来执行实际任务的Linux 系统用户。这能保证任务有正确的文件系统权限。并在用户管理中把刚才创建的租户分配给用户(下拉框中找到刚刚创建的租户点击提交)让admin用户有权限提交任务。填信息队列默认default就行② 创建项目 工作流都必须归属在项目下。③ 创建工作流 (Workflow) 也就是画 DAG 图进入一个可视化拖拽画布这个画布是 DolphinScheduler 最核心的地方——拖拽式设计 DAG有向无环图。 从左侧工具栏里把你需要的任务类型比如 Shell 节点拖到画布上。把 脚本内容填进去或者引用你上传的资源文件。 一个节点与另一个节点之间形成它们的ETL前后依赖关系比如ODS装载完成才执行DWD清洗。DAG (有向无环图)这是核心思想所有任务依赖关系都在这个图里清晰展示。DAG 说白了就是谁先跑谁后跑用箭头连起来(任务先后执行流程图)。任务类型它原生支持 Shell、Hive、Spark、SQL 等几十种任务非常贴合大数据场景Hive SQL可以直接用。④ 上线 填写节点名称并输入脚本都配置好了点击保存工作流点击「上线」⑤ 定时 接着会弹出问你要不要设置定时调度 有需要的话就点击没有需要就关闭弹窗。定时任务让凌晨时刻执行这样数仓ETL就会每天自动跑起来了⑥ 看效果 点左侧“工作流实例”→ 点击这个实例看到 绿色成功右键点任意节点 →“查看日志”能看到你写的 echo 内容DAG有向无环图的核心有向箭头指明了方向A→B 就是 A 先跑无环没有回路不会 A→B→A 死循环思考—从 C 再拖一条线回到 A系统会提示“不允许形成环”这就是“无环”的体现。还可以把任务类型换成“SQL”或“Hive”节点感受一下不同任务类型。总结流程建租户 - 建项目 - 拖任务建 DAG - 上线 - 定时是 DolphinScheduler 的标准使用模式遇到的问题没有可安装候选在知道自己的系统版本之后按照下面一步步排查解决最后验证版本号正常就可以了# 1 删除可能存在的旧配置 sudo rm -f /etc/apt/sources.list.d/docker.list sudo rm -f /etc/apt/sources.list.d/docker-ce.list # 更新软件包列表 sudo apt update sudo apt install -y ca-certificates curl gnupg lsb-release # 2 安装必要依赖 # 3 添加 Docker 官方 GPG 密钥 # 创建密钥存放目录 sudo mkdir -p /etc/apt/keyrings # 下载并添加 Docker GPG 密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 设置密钥文件权限 sudo chmod ar /etc/apt/keyrings/docker.gpg # 4 添加 Docker 官方源 echo deb [arch$(dpkg --print-architecture) signed-by/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null ## 更新软件包列表 sudo apt update # 5 安装 Docker sudo apt install -y docker-ce docker-ce-cli containerd.io七、常见问题 FAQQ1 怎么知道服务器IP① Windows打开命令行输入ipconfig找到IPv4地址。② Mac/Linux打开终端输入ifconfig或ip addr找到inet后面的数字。③ 云服务器直接看服务商控制台给的公网IP。④ 如果Docker跑在本机访问http://localhost:12345/dolphinscheduler/ui就行。八、总结学习顺序熟练DS拖拽编排→对接Hive/MySQL调度SQL任务→学习Airflow基础DAG编写高频考点DS架构、HA高可用原理、任务失败重试、补数机制演示视频dolphinscheduler完结

相关新闻

AI交互之AXI总线架构与DRM overlay

AI交互之AXI总线架构与DRM overlay

目录 axi总线架构 DRM Overlay Plane 原理图 overlay总体框图 RK3588 VOP2 视频与UI控制融合 使用各种AI 工具学习或者工作,当时与AI聊天,明白了,然而由于AI给出的答案,不像自己一点点学习的,易忘。因而后续针对性…

2026/7/27 6:30:03 阅读更多 →
UVa 1005 A Major Problem

UVa 1005 A Major Problem

题目描述 在西方音乐中,记谱法使用的 121212 个音符用大写字母 A 到 G 表示,后面可能跟随升号 # 或降号 b。所有音符按半音阶排列如下: C/B# C#/Db D D#/Eb E/Fb F/E# F#/Gb G G#/Ab A A#/Bb B/Cb 其中斜线表示同一音符的不同记法…

2026/7/27 6:29:03 阅读更多 →
MATLAB小波变换在图像融合中的实践与应用

MATLAB小波变换在图像融合中的实践与应用

1. 项目概述:小波技术在图像融合中的应用价值图像融合作为多源信息处理的核心技术,在医学影像、遥感测绘、安防监控等领域具有广泛应用。传统融合方法如PCA(主成分分析)或IHS(强度-色度-饱和度)变换往往存在…

2026/7/27 6:29:03 阅读更多 →

最新新闻

spiderdemo-零宽字符

spiderdemo-零宽字符

清晨了来一篇文章~ 链接:https://www.spiderdemo.cn/authentication/spiderking_challenge/不看题目先来干发现,一打开控制台,之前请求的可以正常翻页,之后新的页就会报403 应该是有控制台检测控制台不行reqable试试,不…

2026/7/27 6:40:07 阅读更多 →
正本清源:归复河洛本源,收回华夏数理文明话语权

正本清源:归复河洛本源,收回华夏数理文明话语权

一、历史脉络:近三百年西学对华夏上古数理体系的吸收与割裂 明末至清代三百年间,大量西方传教士来华,系统收录、译介河图、洛书、先天八卦、阴阳五行、理气运化等华夏上古数理思想,并完整传回欧洲,直接成为西方近代数学…

2026/7/27 6:40:07 阅读更多 →
hot100【acm版】【2026.7.24打卡-java版本】

hot100【acm版】【2026.7.24打卡-java版本】

有效括号package hot100; import java.util.*; public class lc20 {/*有效的括号 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括…

2026/7/27 6:40:07 阅读更多 →
C++构建高性能气象数据可视化分析系统:架构设计与工程实践

C++构建高性能气象数据可视化分析系统:架构设计与工程实践

1. 项目概述与核心价值最近在整理过往的项目资料,翻到了一个几年前做的气象数据可视化分析系统,用C写的。当时做这个项目的初衷,是想解决一个很实际的问题:我们手头有海量的、来自不同气象站和卫星的原始观测数据(比如…

2026/7/27 6:40:07 阅读更多 →
OpenClaw与Ollama:本地大模型部署与优化实战

OpenClaw与Ollama:本地大模型部署与优化实战

1. OpenClaw与Ollama技术栈解析OpenClaw作为新兴的AI应用框架,其设计初衷是降低大模型技术的使用门槛。这个轻量级工具链采用模块化架构,核心组件包括任务调度器、API网关和插件管理系统。我实测发现其最大优势在于对异构计算资源的智能分配能力&#xf…

2026/7/27 6:40:07 阅读更多 →
CLIP模型:多模态学习与零样本识别的革命性突破

CLIP模型:多模态学习与零样本识别的革命性突破

1. CLIP模型概述:多模态学习的革命性突破CLIP(Contrastive Language-Image Pre-training)是OpenAI在2021年提出的开创性多模态模型,它彻底改变了计算机视觉领域依赖固定类别标签的传统范式。这个模型的核心在于通过对比学习&#…

2026/7/27 6:39:07 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/27 6:31:56 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻