查看原文
其他

Apache DolphinScheduler使用规范与使用技巧分享

杨佳豪 海豚调度 2022-04-06

本次分享来源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 工作流质量监控

相关监控:


下面视频是分享演讲: 



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存