海豚调度器DolphinScheduler--单机版DolphinScheduler 入门到实践:进阶使用

        在现代数据处理和工作流管理中,DolphinScheduler 以其强大的调度能力和易用性,成为了许多企业和开发者的首选工具。本文将深入探讨 DolphinScheduler 的进阶使用技巧,包括参数传递、资源中心管理、告警通知配置,以及如何在真实项目中高效使用 DolphinScheduler。

海豚调度器DolphinScheduler--单机版DolphinScheduler 入门到实践:从部署到使用

进阶使用

参数传递

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

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

1)局部变量--只针对一个任务

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

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

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

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

执行结果:

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

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

3)日期

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

date1=`date -d '1 day ago' +'%y%m%d'`

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

1)系统参数--格式太固定,没法自定义

参数

说明

${system.biz.date}

定时时间前一天,格式为yyyyMMdd

${system.biz.curdate}

定时时间,格式为yyyyMMdd

${system.datetime}

定时时间,格式为yyyyMMddHHmmss

2)实战:

查看B的日志:

4)自定义时间

参数

说明

$[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

总结

        DolphinScheduler 提供了丰富的功能和灵活的配置选项,使其成为处理复杂工作流和数据管道的理想工具。无论是在参数传递、资源管理,还是在告警通知和项目自动化方面,DolphinScheduler 都能提供强大的支持。通过本文的介绍,希望能帮助您更深入地理解 DolphinScheduler 的使用,以及如何在实际项目中高效地应用它。

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值