Apache DolphinScheduler 快速入门指南:从零开始构建第一个工作流
前言
Apache DolphinScheduler 是一个分布式、易扩展的可视化工作流任务调度系统。本文将通过图文结合的方式,带领初学者快速掌握 DolphinScheduler 的核心概念和基本操作流程。
环境准备
在开始之前,您需要先完成 DolphinScheduler 的安装部署。对于初学者,我们推荐两种简单的部署方式:
- 单机模式部署:适合开发测试环境,配置简单,启动快速
- Docker 容器部署:通过官方镜像快速搭建环境,避免复杂的配置过程
部署完成后,您可以通过浏览器访问 DolphinScheduler 的 Web UI 界面(默认地址为 http://localhost:12345/dolphinscheduler/ui),使用默认账号 admin/dolphinscheduler123 登录。
核心概念解析
在开始创建第一个工作流之前,我们需要先理解 DolphinScheduler 的几个核心概念:
- 用户(User):登录系统的账号,用于在 Web UI 上进行各种操作
- 租户(Tenant):任务的实际执行者,对应 Linux 系统用户
- 项目(Project):工作流的组织单元,所有工作流都必须归属于某个项目
- 工作流(Workflow):由多个任务节点组成的有向无环图(DAG)
- 任务(Task):工作流中的具体执行单元,如 Shell 脚本、SQL 查询等
详细操作步骤
第一步:创建租户
租户是任务执行的实体,我们需要先创建一个租户:
- 登录系统后,进入"安全中心" → "租户管理"
- 点击"创建租户"按钮
- 填写租户名称(建议使用小写字母和数字)
- 保存设置
专业提示:在生产环境中,建议为不同业务团队创建独立的租户,实现资源隔离。
第二步:为用户分配租户
- 进入"安全中心" → "用户管理"
- 找到 admin 用户,点击"编辑"
- 在下拉菜单中选择刚才创建的租户
- 保存设置
第三步:创建项目
- 点击顶部导航栏的"项目管理"
- 点击"创建项目"按钮
- 输入项目名称(如"tutorial")和描述
- 保存项目
第四步:创建工作流
- 进入刚创建的项目
- 点击"工作流定义"标签页
- 点击"创建工作流"按钮
- 系统将跳转到工作流编辑页面
第五步:添加任务节点
- 从左侧工具栏拖动"Shell"任务到画布
- 配置任务属性:
- 节点名称:如"Script1"
- 脚本内容:如
echo "Hello DolphinScheduler"
- 重复上述步骤添加第二个任务节点
- 点击"保存"按钮保存工作流
第六步:设置任务依赖关系
- 将鼠标悬停在第一个任务节点上
- 拖动箭头到第二个任务节点
- 释放鼠标完成依赖关系设置
- 为工作流命名并保存
第七步:运行工作流
- 返回工作流列表页面
- 找到刚创建的工作流,点击"上线"按钮
- 点击"运行"按钮启动工作流
- 系统将自动跳转到"工作流实例"页面
第八步:查看执行日志
- 在"工作流实例"列表中找到运行中的实例
- 点击进入实例详情
- 右键点击任务节点,选择"查看日志"
- 检查任务输出是否符合预期
最佳实践建议
- 命名规范:为租户、项目、工作流和任务制定统一的命名规则,便于后期维护
- 权限控制:合理分配用户权限,遵循最小权限原则
- 日志管理:定期清理历史日志,避免存储空间不足
- 参数化设计:使用变量参数使工作流更灵活
- 监控告警:配置任务失败告警机制,及时发现处理问题
常见问题解答
Q:为什么任务执行失败? A:常见原因包括:租户对应的Linux用户不存在、脚本权限不足、资源不足等。建议先检查执行日志。
Q:如何实现定时调度? A:在工作流定义页面可以设置调度属性,支持CRON表达式配置定时规则。
Q:工作流可以嵌套吗? A:支持。可以使用"子工作流"任务类型调用其他工作流。
通过本教程,您已经掌握了DolphinScheduler的基本使用方法。建议下一步尝试创建更复杂的工作流,结合不同类型的任务节点,充分发挥调度系统的强大功能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考