暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

大数据调度器——单机版DolphinScheduler 入门到实践:进阶使用

大数据技能圈 2024-12-18
84

在现代数据处理和工作流管理中,Apache DolphinScheduler 以其强大的调度能力和易用性,成为了许多企业和开发者的首选工具。

本文将深入探讨 DolphinScheduler 的进阶使用技巧,包括参数传递、资源中心管理、告警通知配置,以及如何在真实项目中高效使用 DolphinScheduler。

进阶使用

参数传递

参数传递是 DolphinScheduler 中的一项重要功能,它允许用户在任务之间共享数据。

  • 局部变量:仅在单个任务中有效,适用于特定任务的独立配置。
  • 全局变量:在多个任务间共享,适合跨任务传递日期、配置等通用信息。

局部变量-只针对单个任务

将工作流上线,执行,查看A的日志,发现打印了。

全局变量-多个任务中都需要一个字段


目前 A\B\C 任务都需要一个变量 dt

在保存工作流的时候,弹出来的界面可以指定全局变量。

执行结果:

)

B和C都是打印的2023-7-20,唯独A打印的是2023-7-18

因为A设置了局部变量,当一个任务有局部变量又有全局变量的时候,以局部变量的值为准(就近原则)

日期

Linux中获取前一天数据的命令:date -d '1 day ago' +'%y%m%d'
 
date1=`date -d '1 day ago' +'%y%m%d'`

Apache DolphinScheduler提供了一些时间相关的系统参数,方便定时调度使用。

系统参数

格式太固定,没法自定义

参数说明
${system.biz.date}定时时间前一天,格式为yyyyMMdd
${system.biz.curdate}定时时间,格式为yyyyMMdd
${system.datetime}定时时间,格式为yyyyMMddHHmmss

实战

查看B的日志:

自定义时间

参数说明
$[add_months(yyyyMMdd,12*N)]后N 年
$[add_months(yyyyMMdd,-12*N)]前N 年
$[add_months(yyyyMMdd,N)]后N 月
$[add_months(yyyyMMdd,-N)]前N 月
$[yyyyMMdd+7*N]后N 周
$[yyyyMMdd-7*N]前N 周
$[yyyyMMdd+N]后N 天
$[yyyyMMdd-N]前N 天
$[HHmmss+N/24]后N 小时
$[HHmmss-N/24]前N 小时
$[HHmmss+N/24/60]后N 分钟
$[HHmmss-N/24/60]前N 分钟
在C任务中

自定义日期格式

$[yyyyMMdd], $[HHmmss], $[yyyy-MM-dd]
$[yyyyMMdd]也可以写成$[yyyy-MM-dd]
$[HHmmss] 也可以添加: $[HH:mm:ss]

资源中心

资源中心是 DolphinScheduler 的文件管理平台,支持用户上传和管理资源文件。

  • 资源上传:用户可以将脚本、数据文件等上传到资源中心,方便在任务中引用。
  • 资源使用:在任务配置中直接引用资源中心的文件,提高资源复用性和管理效率。

资源上传

保存之后其实本质上是上传到了HDFS路径下。

资源使用

资源如何使用?

告警通知

告警通知是确保任务状态及时反馈给用户的重要机制。

DS是一个任务调度工具,当任务执行很慢的时候,我们需要一个告警通知,不管是成功还是失败,都需要第一时间收到通知。

  • 邮件告警:配置邮件服务器,任务执行完成后发送邮件通知,适用于任务状态报告和异常通知。
  • SMS 告警:发送短信通知,适用于紧急情况的通知,但注意可能存在功能限制或 Bug。

邮件告警

在任务流运行时,指定告警者组:

以下是 DS 1.x 版本进行邮箱告警的配置:

需要一个能够发送邮件的邮箱(这个邮箱是一个发送方,需要将信息发送给需要的人)

vi /opt/installs/dolphinscheduler/conf/alert.properties 
 
不要修改/opt/modules下的dolphinscheduler,这个文件夹下的内容在你安装完之后的那一刻已经没有任何价值了。

修改邮箱服务器的配置:

修改alert.properties中的文件:
 
# mail server configuration
mail.protocol=SMTP
mail.server.host=smtp.163.com
mail.server.port=25
mail.sender=18638147931@163.com
mail.user=18638147931@163.com
mail.passwd=MAGBDQDGKEHCBVQA
# TLS
mail.smtp.starttls.enable=false
# SSL
mail.smtp.ssl.enable=false
mail.smtp.ssl.trust=smtp.exmail.qq.com

重启Alert服务:

./bin/dolphinscheduler-daemon.sh start alert-server
./bin/dolphinscheduler-daemon.sh stop alert-server

验证是否可用:

记得同步一下时间。假如需要你做一个电话通知,怎么办?因为平台是默认不支持电话的。

使用第三方平台 -- 睿象云
只需要获取一个睿象云的邮箱即可得到电话通知。

工作流重跑

当一个工作流特长,任务特别复杂的时候,执行到某一处失败了,下一次想从失败的地方开始运行,而不是重新开始。


修改任务,将失败的地方修复一下,开始运行。

  • 重跑:从头开始,再来一遍

  • 恢复失败:从失败的节点开始运行,直到运行结束。



关闭 Linux 中的提醒

在 Linux 系统中,有时候需要关闭邮件提醒,可以通过以下命令实现:

cat /dev/null > /var/spool/mail/root
echo "unset MAILCHECK" >> /etc/profile
source /etc/profile

总结

Apache DolphinScheduler 提供了丰富的功能和灵活的配置选项,使其成为处理复杂工作流和数据管道的理想工具。

无论是在参数传递、资源管理,还是在告警通知和项目自动化方面,DolphinScheduler 都能提供强大的支持。通过本文的介绍,希望能帮助您更深入地理解 DolphinScheduler 的使用,以及如何在实际项目中高效地应用它。

本文来源于网络,原文链接:https://blog.csdn.net/weixin_64726356/article/details/142160565

 

<🐬🐬 >

推荐阅读

用户实践案例
奇富科技  蜀海供应链 联通数科 拈花云科
蔚来汽车 长城汽车 集度 长安汽车
思科网讯 生鲜电商 联通医疗 联想
新网银行 消费金融  腾讯音乐 自如
有赞 伊利 当贝大数据
联想 传智教育 Bigo
通信行业  作业帮 太美医疗
某新能源 中电信翼康
迁移实践
Azkaban   Ooize   
Airflow (有赞案例) Air2phin(迁移工具)
Airflow迁移实践
Apache DolphinScheduler 3.0.0 升级到 3.1.8 教程
Apache DolphinScheduler 1.3.4升级至3.1.2版本解决方案合集

新手入门
选择Apache DolphinScheduler的10个理由
Apache DolphinScheduler 3.1.8 保姆级教程【安装、介绍、项目运用、邮箱预警设置】轻松拿捏!
Apache DolphinScheduler 如何实现自动化打包+单机/集群部署?
Apache DolphinScheduler-3.1.3 版本安装部署详细教程
Apache DolphinScheduler 在大数据环境中的应用与调优

< 🐬🐬 >
参与社区

参与Apache DolphinScheduler 社区有非常多的参与贡献的方式,包括:


贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/5689

非新手问题列表:https://github.com/apache/dolphinscheduler/issues?
q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22

如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/community/development/contribute.html

来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的!

文章转载自大数据技能圈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论