10分钟上手分布式任务调度:DolphinScheduler可视化工作流从安装到实战
你是否还在为复杂的任务调度焦头烂额?还在为流程依赖关系梳理浪费时间?本文将带你从零开始,通过DolphinScheduler的可视化界面,快速搭建一个稳定、高效的分布式任务调度系统。读完本文,你将掌握:
- Standalone模式的快速部署方法
- 工作流的可视化创建与管理
- 任务监控与运维的实用技巧
- 常见场景的最佳实践方案
关于DolphinScheduler
Apache DolphinScheduler是一个分布式易扩展的可视化DAG工作流任务调度系统,致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。其核心特性包括:
- 易于部署,提供四种部署方式:Standalone、Cluster、Docker和Kubernetes
- 直观的可视化界面,支持拖拉拽创建工作流
- 高可靠高可用的去中心化架构,原生支持横向扩展
- 高性能,每天可支持千万级任务调度
- 完善的版本控制和状态管理
官方文档:README_zh_CN.md 技术架构详解:docs/docs/zh/guide/architecture/architecture.md
快速部署:Standalone模式安装
前置准备
部署DolphinScheduler Standalone模式仅需两步:
- 安装JDK(1.8或11版本)并配置环境变量
- 下载DolphinScheduler二进制包
详细部署步骤
# 创建部署用户
useradd dolphinscheduler
# 设置密码
echo "dolphinscheduler" | passwd --stdin dolphinscheduler
# 配置sudo免密
sed -i '$adolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' /etc/sudoers
sed -i 's/Defaults requiretty/#Defaults requiretty/g' /etc/sudoers
# 解压并启动
tar -xvzf apache-dolphinscheduler-*-bin.tar.gz
cd apache-dolphinscheduler-*-bin
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
启动脚本:script/dolphinscheduler-daemon.sh 部署文档:docs/docs/zh/guide/installation/standalone.md
登录系统
浏览器访问地址 http://localhost:12345/dolphinscheduler/ui,使用默认账号密码登录:
- 用户名:admin
- 密码:dolphinscheduler123
系统界面概览
成功登录后,你将看到DolphinScheduler的主界面,主要分为以下几个功能区域:
主页仪表盘
主页展示了项目和工作流的概览信息,包括最新的工作流实例和任务实例状态统计,帮助你快速掌握系统运行状况。
工作流定义界面
工作流定义界面是创建和管理工作流的核心区域,通过直观的拖拉拽方式,你可以轻松构建复杂的工作流。
工作流树状图
工作流树状图以抽象的树形结构展示任务之间的关系,让你更清晰地理解整个工作流程。
数据源管理
数据源管理模块支持多种外部数据源的配置和管理,为任务调度提供数据支持。
系统监控
监控界面实时展示master、worker和数据库的状态,包括服务器资源使用情况和负载情况,无需登录服务器即可快速进行健康检查。
实战:创建第一个工作流
场景说明
我们将创建一个简单的数据处理工作流,包含以下步骤:
- 执行Shell脚本生成数据
- 运行SQL脚本处理数据
- 发送邮件通知结果
步骤1:创建项目
- 点击左侧导航栏的"项目管理"
- 点击"创建项目"按钮
- 填写项目名称和描述
- 点击"提交"
步骤2:创建工作流
- 进入项目后,点击"工作流定义"
- 点击"创建工作流"
- 从左侧组件面板拖拽"Shell"任务到画布
- 双击任务,配置任务名称和脚本内容:
echo "Hello DolphinScheduler" > /tmp/test.txt
步骤3:配置任务依赖
- 再拖拽一个"SQL"任务到画布
- 从第一个任务拖动箭头到SQL任务,建立依赖关系
- 配置SQL任务,选择数据源并输入SQL语句:
INSERT INTO test_table (content) VALUES ('Hello from SQL Task');
步骤4:添加邮件通知
- 拖拽"邮件"任务到画布,建立与SQL任务的依赖
- 配置邮件服务器信息和收件人
- 设置邮件主题和内容
步骤5:保存并运行
- 点击"保存"按钮,输入工作流名称和描述
- 点击"运行"按钮,选择运行参数
- 在"工作流实例"中查看运行状态
工作流运行与监控
查看实例状态
- 点击"工作流实例"查看所有运行中的工作流
- 点击具体实例查看详细信息
- 在"任务实例"标签页查看每个任务的执行情况
日志查看
- 在任务实例上点击右键,选择"查看日志"
- 查看任务执行的详细日志信息
- 根据日志排查任务执行问题
任务管理
DolphinScheduler提供了灵活的任务状态控制功能:
- 暂停:临时停止工作流执行
- 恢复:从暂停状态继续执行
- 终止:完全停止工作流执行
- 重试:重新执行失败的任务
进阶配置
资源中心配置
Standalone模式默认使用本地目录作为资源中心,如需修改,可编辑配置文件:
# 资源中心类型,可选值:HDFS,S3,NONE,LOCAL
resource.storage.type=LOCAL
# 本地模式资源文件存储路径
resource.storage.local.base.path=/tmp/dolphinscheduler
配置文件路径:conf/common.properties
数据库配置
Standalone模式默认使用H2内存数据库,如需使用外部数据库(如MySQL或PostgreSQL),请参考官方文档进行配置:
数据库配置文档:docs/docs/zh/guide/installation/datasource-setting.md
插件扩展
DolphinScheduler支持丰富的插件扩展,如任务插件、存储插件等,可根据需求进行安装和配置:
常见问题解决
服务启动失败
如果服务启动失败,可通过以下日志文件排查问题:
- 服务日志:standalone-server/logs/dolphinscheduler-server.log
- 审计日志:standalone-server/logs/audit.log
任务执行失败
任务执行失败时,可通过以下步骤排查:
- 查看任务实例日志
- 检查任务配置是否正确
- 验证数据源连接状态
- 确认执行用户权限
社区支持
如果遇到其他问题,可通过以下方式获取社区支持:
- 社区文档:docs/
- 贡献指南:CONTRIBUTING.md
- 邮件列表:users@dolphinscheduler.apache.org
总结与展望
通过本文的介绍,你已经掌握了DolphinScheduler的基本使用方法。从快速部署到工作流创建,从任务监控到进阶配置,DolphinScheduler提供了一套完整的解决方案,帮助你轻松应对复杂的任务调度需求。
随着业务的发展,你可以进一步探索DolphinScheduler的高级特性,如:
- 多租户管理
- 复杂的依赖调度
- 大数据任务调度
- 与其他系统的集成
DolphinScheduler作为一个活跃的开源项目,正在不断发展和完善,欢迎你参与到社区中来,一起推动项目的进步。
官方文档:docs/ 源码地址:GitHub_Trending/dol/dolphinscheduler
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考









