Apache DolphinScheduler使用规范与使用技巧分享
本次分享来源2021年9月4日杨佳豪同学,给大家带来的分享是基于 Apache DolphinScheduler
使用规范与使用技巧分享,分享的内容主要为以下五点:
DolphinScheduler基本部署情况
DolphinScheduler使用规范 DolphinScheduler工作流维护 DolphinScheduler调度依赖划分 DolphinScheduler运维维护
1 基本部署情况
DolphinScheduler 部署情况:
目前采用1.3.3版本,于2020.11月开始使用
整套平台基础CDH 6.3.2 离线hive 进行调度,目前有三套独立调度平台环境 ,dev和test 共用在一起,uat ,prd,分别单独部署
dev 、 test 环境:
部署在一台 16C/64G 的服务器上
uat 环境:
部署在三台 32C / 64G 的服务器 ,部署了两台master 和 三台 worker
prd 环境
部署在 五台 32C / 64 G 的服务器,分开部署了两台master 和 三台worker
每天调度大概近1000+任务,主要用到的组件 【shell】、【sub_process】、【depend节点】,
目前使用稳定。
我们目前实现一套脚本,多环境调度。仅需细小参数更改,即可用于测试开发生产分别使用,
以及数据生命周期的管理。
2 DolphinScheduler 使用规范
DolphinScheduler 项目开发使用规范
租户管理:
目前多套环境都只创建了一个租户,所有服务器一个队列,开发人员无需过多选择,直接使用即可。
用户管理:
所有开发和测试的同学都由管理人员创建账户,用于统一管理。
告警组管理:
开发人员都被添加到告警组中,排班对任务报错进行排查处理
项目管理:
目前我们这采用不同迭代的方式和项目迭代项目保持一致,整体项目数据库,由dba进行定期备份。
DolphinScheduler 人员权限管理规范
开发同学:
开发的同学会授予自己负责的项目,只负责开发环境和测试的工作流配置,不接触uat和prd
测试同学:
测试的同学只授权test项目,用于测试工作流的相应报表,其他项目不予开放权限。
DolphinScheduler 上线流程使用规范
上线流程:
按照流程,负责维护的ds运维同学,对项目版本跟随git代码版本进行备份和新上线
3 DolphinScheduler 工作流维护
DolphinScheduler 工作流分类
主题分类:
ods 层 辖区主题,它们主要在一个相应的表,进行分类
DolphinScheduler 工作流节点配置
配置规范:
节点名称必须和脚本所调度文件名称保证一致
必须配置失败重试次数和间隔时间,默认3次,5分钟
描述信息开发环境必须描述清晰
脚本下线只采用禁止执行,不进行删除操作
全量表必须设置生命周期时间
配置规范:
开发同学在更改自己负责的工作流是需要添加具体描述。
DolphinScheduler 工作流节点扩展
离线sqoop 任务:
hive 任务:
全局参数:
4 DolphinScheduler 调度依赖的划分
DolphinScheduler 调度划分
项目调度:
DolphinScheduler 周期调度
周期任务:
DolphinScheduler 任务容错
任务失败容错机制:
5 DolphinScheduler 运维维护
DolphinScheduler 服务报警
对所在主机和服务进行监控:
DolphinScheduler 工作流质量监控
相关监控:
下面视频是分享演讲: