任务调度:系统为了自动完成特定任务,在约定的特定时刻去执行任务的过程
分布式调度:
jdk也提供了相关的任务调度功能,如Timer,ScheduledExecutor。
介绍:分布式、易扩展的工作流调度平台
环境准备安装:
组件:
流程:
部署模式:
dolphinScheduler元数据存储再关系型数据库中,需要创建相应的数据库和用户
1.创建数据库
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
2.创建用户
CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
3.赋予用户相应权限
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';
flush privileges;
4.修改数据源配置文件
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://hadoop102:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=dolphinscheduler
spring.datasource.password=dolphinscheduler
# hadoop102:主机名
5.拷贝mysql的JDBC驱动到dolphinScheduler的解压目录下的lib中
6.执行数据库初始化脚本(位于dolphinScheduler解压目录下的script目录下)
7.修改运行参数,conf/env/dolphinscheduler)env.sh中的环境变量(百度配置)
8.jdk软链到/usr/bin/java下
9.一键部署配置文件 conf/config/install_config.conf中的各项参数(百度配置)
功能:租户管理、用户管理、告警组管理、worker分组管理、队列管理、令牌管理等功能
用户管理:用来登录dolphinScheduler,配置:用户名,关联的租户、队列、邮件
告警组管理:用于指定告警发送对象
worker分组管理:任务执行时将任务分配给指定的worker组,由改组worker节点执行该任务,默认情况下所有worker都在default组
令牌配置:用于通过接口访问dolphinScheduler各项服务时的用户验证,与第三方服务进行集成,需调其接口才需使用令牌
工作流基础配置三个模块:
参数 | 说明 |
---|---|
${add_months(yyyyMMdd,12*N)} | 后N年 |
${add_months(yyyyMMdd,-12*N)} | 前N年 |
${add_months(yyyyMMdd,N)} | 后N月 |
${yyyyMMdd+7*N} | 后N周 |
${yyyyMMdd+N} | 后N天 |
${yyyyMMdd-N} | 前N天 |
${HHmmss-N/24} | 前N小时 |
${HHmmss+N/24/60} | 后N分组 |
如:执行的脚本需要一个yyyy-MM-dd的前一天日期的参数:${yyyy-MM-dd-1}
在Shell脚本节点或python中引用在资源中心写好的脚本资源
准备邮箱账号开启SMTP服务,获取授权码