拓冰建站拓冰建站
首页 / 资讯中心 / 正文

DolphinScheduler 快速上手教程:30分钟部署单机版并跑通一条日志调度工作流

DolphinScheduler 快速上手教程30分钟部署单机版并跑通一条日志调度工作流【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler每天早上 8 点前运维同事总要盯着终端手动敲几遍同样的命令清一下昨天的应用日志、统计错误行数、把结果写进报表库。这类定时 多步依赖的活儿正是 DolphinScheduler 这类可视化工作流调度器最擅长的场景。这篇文章会带你用 DolphinScheduler 完成一次完整的快速上手先把单机版跑起来再亲手搭一条日志清理 → 日志统计 → 结果入库的自动化工作流最后看看怎么从单机平滑演进到生产环境。项目定位它到底是什么又能帮你省什么事一句话概括DolphinScheduler 是 Apache 旗下的开源数据编排平台把任务怎么串、几点跑、失败了怎么办从人肉记在脑子里的事变成了画在画布上、可以随时回放和调整的 DAG 工作流。它主要替数据开发和运维同学解决四类问题依赖不用人盯任务之间的先后顺序画出来就生效上游没跑完下游不会抢跑低代码编排拖拉拽就能建流程不用为一条 ETL 链专门写调度代码多任务类型开箱可用Shell、SQL、Python、Flink、Spark、数据同步等任务插件都有现成实现可观测实例状态、执行日志、服务器负载在网页上直接看出问题时不用先 SSH 登机多租户执行任务以你指定的 Linux 租户用户身份运行权限边界清晰。环境与启动三条命令跑起单机版想读懂并跑起来Standalone 单机版是最短路径。它把 master、worker、api 等角色全部打进一个进程还自带内存数据库不需要提前准备 MySQL 或 ZooKeeper。按下面清单准备即可装好 JDK 1.8 或 11并配置好JAVA_HOME准备一个 Linux 部署用户多租户机制要求该用户有免密 sudo 权限新手可先略过下载对应版本的二进制包解压后只需执行bash ./bin/dolphinscheduler-daemon.sh start standalone-server启动脚本源码在 script/dolphinscheduler-daemon.sh它同样支持stop、status子命令随时可以启停和查状态。完整的注意事项比如 Standalone 建议只承载 20 个以内的工作流写得很细可以对照 docs/docs/zh/guide/installation/standalone.md。浏览器打开http://localhost:12345/dolphinscheduler/ui用默认账号 admin / dolphinscheduler123 登录功能地图登录后先看哪里登录成功后不用急着建流程花两分钟扫一圈主界面后面实操会顺很多。整个系统可以概括为一个首页 三类工作台首页全局视角各项目的任务实例和工作流实例状态统计都在这适合每天开工先看一眼有没有失败的任务项目管理核心工作台。项目下挂工作流定义 / 工作流实例 / 任务实例 / 运行记录四个页面编排和查问题都在这里完成数据源统一管理 MySQL、PostgreSQL、ClickHouse、Hive 等外部数据源SQL 类任务会从这里选连接安全中心用户、租户、项目授权、告警组的管理入口第一次建流程前建议先把租户建好监控中心master / worker / 数据库的在线状态和系统指标相当于内置的健康检查页。动手实操搭一条日志清理 统计 入库的定时流程这次的业务场景是每天凌晨把应用日志转成统计报表替代人工敲命令。流程有三个节点——Shell 清理旧日志、Python 汇总错误次数、SQL 把结果写进报表库。先建好容器。在项目管理里新建一个名为ops-log的项目然后到安全中心 → 租户管理建一个租户比如ops并在用户管理里把它分给 admin。租户是任务实际执行时使用的 Linux 用户不配置的话会用默认租户功能上可以先跑通但生产上不推荐。进入画布拖第一个节点。打开ops-log项目的工作流定义点击创建工作流进入画布把左侧工具栏里的 Shell 任务拖到中间。双击节点命名为clean_old_logs脚本内容就一行find /var/log/app -name *.log -mtime 7 -exec mv {} /var/log/app/archive/ \;再拖第二个节点。从工具栏拖一个 Python 任务命名summarize_errors作用是数一数当天日志里的 ERROR 行数并写出摘要import glob lines [l for f in glob.glob(/var/log/app/*.log) for l in open(f)] print(ftotal{len(lines)} errors{sum(ERROR in l for l in lines)})最后接上 SQL 节点。拖一个 SQL 任务命名为report_to_db先在上一步数据源里配好你的 MySQL 连接这里选中它并写INSERT INTO t_log_report (biz_date, total, errors) VALUES (${ds.biz.date}, ${total}, ${errors});连线、上线、跑一次。把箭头依次从clean_old_logs拖向summarize_errors、再拖向report_to_db依赖关系就建立了——画布上的箭头方向即执行顺序。右上角保存并填写工作流名称回到列表后先点上线再点运行。如果想在 SQL 节点里直接选数据源配置界面长这样观测与调优实例、日志和任务控制合在一处流程跑起来之后工作流实例页签是主阵地看状态点进实例名称会看到 DAG 回放每个节点是成功、失败还是执行中一眼可辨看日志双击节点选查看日志完整输出就弹出来Python 里 print 的那行统计数字也在这里不需要登机器翻文件控流程对运行中的实例可以暂停当前任务跑完即停、恢复、停止、重跑失败的工作流还能恢复失败直接从坏掉的节点续跑不用整条重来看历史节点上的查看历史能列出该任务历次运行的实例排查偶发问题时很方便。想确认系统本身是否健康去监控中心master、worker、数据库三个面板分别展示在线节点与负载等价于一次免登机的巡检。从单机到生产按需升级的三步路径Standalone 适合学习和小流量验证真正往生产走时建议按下面的顺序逐步替换而不是推倒重来换元数据库Standalone 默认用内存 H2重启即丢数据。先切到 MySQL 或 PostgreSQL 持久化元数据改的是启动前的一次配置参考 docs/docs/zh/guide/installation/datasource-setting.md换资源存储资源中心默认落在本机目录多节点部署时切到 HDFS / S3 / 对象存储相关实现都在 dolphinscheduler-storage-plugin/ 下按类型分包上集群形态伪集群单机多进程先验证配置再平滑到集群部署或 Kubernetes 部署deploy/kubernetes/ 提供了 Helm Chartmaster 和 worker 可以独立横向扩。任务侧同理——需要跑 Flink、Spark、数据同步时再去 dolphinscheduler-task-plugin/ 找对应插件挂上去即可架构不用动。避坑与求助出发前对照这张清单常见问题大多集中在这几处跑之前先自查服务起来了但页面打不开先bash ./bin/dolphinscheduler-daemon.sh status standalone-server确认进程再看standalone-server/logs/dolphinscheduler-server.log任务报权限错误九成是租户没配确认安全中心里已创建租户并分配给用户且部署用户配置了免密 sudoSQL 任务连不上数据源回到数据源页点测试连接把错误信息直接贴出来比对驱动配置Standalone 数据丢了这是内存 H2 的预期行为不是 bug——切外部数据库即可流程太多后开始不稳定Standalone 官方建议控制在 20 个工作流以内到这一步就该走上一条的集群路线了。清单解决不了的按这个顺序求助官方中文文档 docs/docs/zh/安装、参数、告警都有专题页、快速上手图文教程 docs/docs/zh/guide/start/quick-start.md、贡献指南 CONTRIBUTING.md含社区沟通渠道。下一步把今天这条流程接上电到这里你手上已经有一条能跑的三节点工作流了。建议接下来做两件事把价值放大加定时器把工作流配置成每天凌晨自动触发之后登录首页验证统计数字是否如约更新——这一步做完定时报表才算真正闭环加失败告警在安全中心配一个邮件或钉钉告警实例绑定到ops-log项目任务失败时消息自动送达代替人工盯盘。完成这两步后可以试着把第二条、第三条 ETL 链搬进 DolphinScheduler等流程多到单机吃紧再回头走元数据库 → 资源存储 → 集群的升级路径每一步都有现成文档兜底。【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门