参考
Apache DolphinScheduler v1.3.9 使用手册
内置组件
- masterserver
- workserver
- zookeeper
- task queue
- alert
- api
- ui
设计
去中心化设计 通过zk选举
UI功能
队列管理 Yarn调度器的资源队列
用户管理
租户对应的是Linux系统用户,是Worker执行任务使用的用户 用户对应的是DolphinScheduler的用户,用于登录DolphinScheduler
默认情况下,管理员只有授权和用户管理等权限,而普通用户只有创建项目,定义工作流、执行工作流等权限
告警组管理
邮件/短信 告警
worker分组管理
在任务执行时,可以将任务分配给指定Worker组,最终由该组中的Worker节点执行该任务
令牌管理
令牌用于通过接口访问DolphinScheduler各项服务时的用户验证。若需将DolphinScheduler与第三方服务进行集成,则需调用其接口,此时需使用令牌。
项目管理
工作流定义:用于定义工作流,包括工作流各节点任务详情及各节点依赖关系等。DAG
工作流实例:工作流每执行一次就会生成一个工作流示例。此处可查看正在运行的工作流以及已经完成的工作流。
任务实例:工作流中的一个节点任务,每执行一次就会生成一个任务实例。此处可用于查看正在执行的节点任务以及已经完成的节点任务。
资源中心
上传jar
Dag节点
- spark
- hive 可以自定义时间参数
- datax
- 子节点 支持逻辑关系
代码架构
- dolphinscheduler-alert 告警服务
- dolphinscheduler-api web服务
- dolphinscheduler-common 通用的常量枚举、工具类、数据结构或者基类
- dolphinscheduler-dao 数据库访问
- dolphinscheduler-data-quality
- dolphinscheduler-datasource-plugin
- dolphinscheduler-dist
- dolphinscheduler-e2e
- dolphinscheduler-log-server LoggerServer 用于Rest Api通过RPC查看日志
- dolphinscheduler-master MasterServer服务,主要负责 DAG 的切分和任务状态的监控
- dolphinscheduler-meter
- dolphinscheduler-microbench
- dolphinscheduler-python
- dolphinscheduler-registry
- dolphinscheduler-remote 基于 netty 的客户端、服务端
- dolphinscheduler-server 日志与心跳服务
- dolphinscheduler-service 包含Quartz、Zookeeper、日志客户端访问服务,便于server模块和api模块调用
- dolphinscheduler-spi
- dolphinscheduler-standalone-server
- dolphinscheduler-task-plugin
- dolphinscheduler-tools
- dolphinscheduler-ui
- dolphinscheduler-ui-next
- dolphinscheduler-worker WorkerServer服务,主要负责任务的提交、执行和任务状态的更新