DolphinScheduler入门
1. 安全中心
安全中心主要有租户管理、用户管理、告警组管理、告警实例管理、Worker分组管理、Yarn 队列管理、环境管理、令牌管理等功能。
1.1 租户管理
租户对应的是Linux的用户,用于worker提交作业所使用的用户。如果linux没有这个用户,默认情况下会导致任务运行失败。可以通过修改worker.properties配置文件中参数worker.tenant.auto.create=true(默认值为 false)实现当linux用户不存在时自动创建该用户。worker.tenant.auto.create=true参数会要求worker可以免密运行sudo命令。
此处创建一个jack租户,如下图。
1.2 用户管理
用户对应的是DolphinScheduler的用户,用于登录DolphinScheduler。用户分管理员用户和普通用户。
- 管理员有授权和用户管理等权限,没有创建项目和工作流定义的操作的权限。
- 普通用户可以创建项目和对工作流定义的创建,编辑,执行等操作。
此处创建一个普通用户jack,如下图:
1.3 告警实例管理与告警组管理
告警实例与告警组用于任务运行成功或者失败之后的告警通知。一个告警组可包含多个告警实例,一个告警实例,需选择一个告警插件,并配置相应参数,目前支持的告警插件有电子邮件、钉钉、企业微信、飞书等。
1.4 Worker分组管理
一个Worker分组由多个Worker组成。在任务执行时,可以将任务分配给指定Worker组,由该组中的Worker节点执行该任务。每个Worker至少属于一个组,默认为default组。Worker所属分组可以调整,调整方式如下:
- 方式一:
打开要设置分组的Worker节点上的worker.properties配置文件,修改worker.groups参数,worker.groups参数的值为该Worker节点对应的分组名称,默认为default,如果该worker节点属于多个分组,则多个分组名称以逗号隔开。 - 方式二:
在Web UI的安全中心的Workder分组管理中修改,如下图所示。
1.5 Yarn队列管理
队列是在执行spark、mapreduce等程序,需要用到"队列"参数时使用的。
此处的队列对应的是Yarn调度器的资源队列。故队列概念只对跑在Yarn上的任务类型有效。此处创建出的队列,可供后续任务进行选择。需要注意的是,在DolphinScheduler中创建队列,并不会影响到Yarn调度器的队列配置。此处可不创建队列。
1.6 环境管理
此处可配置Worker运行环境(任务运行时所需的环境变量),默认的运行环境由Worker节点中,dolphinscheduler安装目录下的conf/env/dolphinscheduler_env.sh决定。
创建环境的操作如下图所示,环境创建完毕之后,就可供Worker运行任务时选择。
1.7 集群管理和K8S命名空间管理
创建/更新K8S集群和创建/更新K8S命名空间
1.8 令牌管理
令牌用于通过接口访问DolphinScheduler各项服务时的用户验证。普通用户通过UI页面访问各项服务时,无需使用令牌。若需将DolphinScheduler与第三方服务进行集成,则需调用其接口,此时需使用令牌。
2. 项目管理
项目管理提供创建项目和工作流管理以及任务管理。
默认不使用管理员用户操作项目和工作流等,故需先切换到普通用户jack。
2.1 创建项目
点击项目名称链接,进入项目首页,如下图所示:
2.2 工作流配置
工作流配置页面,共包含三个模快,分别为工作流定义、工作流实例和任务实例。
工作流定义:用于定义工作流,包括工作流各节点任务详情及各节点依赖关系等。
工作流实例:工作流每执行一次就会生成一个工作流实例。此处可查看正在运行的工作流以及已经完成的工作流。
任务实例:工作流中的一个节点任务,每执行一次就会生成一个任务实例。此处可用于查看正在执行的节点任务以及已经完成的节点任务。
2.3 工作流定义
工作流要求:工作流需包含三个Shell类型的任务节点,分别是A,B,C。三个任务的依赖关系如下图所示:
2.4 创建工作流
- 点击创建工作流,进入配置任务节点页面:
- 配置任务节点的依赖关系
- 直接对DAG图进行拖拽操作
- 在节点设置中选择"前置任务"
- 保存工作流定义
点击确定,返回工作流列表
2.5 执行工作流
- 上线工作流
工作流须上线之后才能执行。处于上线状态的工作流定义不可修改,如需修改,须先下线。 - 单次运行工作流
- 定时执行工作流
2.6 查看工作流实例
点击其中一个实例,可以查看历史记录详情
2.7 查看任务实例
- 查看所有任务实例:
- 查看任务实例日志: