Apache DolphinScheduler 使用文档(5/8):使用与测试
本文章经授权转载,原文链接:
https://blog.csdn.net/MiaoSO/article/details/104770720
目录
5. 使用与测试
5.1 安全中心(Security)
5.1.1 队列管理(Queue manage)
5.1.2 租户管理(Tenant Manage)
5.1.3 用户管理(User Manage)
5.1.4 告警组管理(Warning group manage)
5.1.5 Worker分组管理(Worker group manage)
5.1.6 令牌管理(Token manage)
5.2 监控中心(Monitor)
5.3 数据源中心(Datasource)
5.3.3.1 使用 HiveServer2 方式连接
5.3.3.2 使用 HiveServer2 HA Zookeeper 方式连接
5.3.1 MySQL 数据源
5.3.2 POSTGRESQL 数据源
5.3.3 HIVE 数据源
5.3.4 Spark 数据源
5.3.5 CLICKHOUSE
5.3.6 ORACLE
5.3.7 SQLSERVER
5.4 资源中心(Resources)
5.4.2.1 资源管理
5.4.2.2 函数管理
5.4.1 文件管理
5.4.2 UDF 管理
5.5 项目管理(Project)
5.5.3.1 创建工作流定义
5.5.3.2 工作流定义操作功能
5.5.3.3 运行工作流
5.5.3.4 工作流定时
5.5.3.5 导入工作流
5.5.1 创建项目
5.5.2 项目首页
5.5.3 工作流定义
5.5.4 工作流实例
5.5.5 任务实例
5. 使用与测试
5.1 安全中心(Security)
5.1.1 队列管理(Queue manage)
说明:队列是在执行 spark、mapreduce 等程序,需要用到“队列”参数时使用的(创建后不可删除)。
详见:附录.队列管理
例:
安全中心 -> 队列管理 -> 创建队列
------------------------------------------------------
名称:quene_test
队列值:quene_test
------------------------------------------------------
提交
5.1.2 租户管理(Tenant Manage)
说明:
租户对应的是 Linux 的用户,用于 worker 提交作业所使用的用户。如果 Linux 没有这个用户,worker 会在执行脚本的时候创建这个用户。租户编码:
租户编码是 Linux 上的用户,唯一,不能重复。
新建的租户会在 HDFS 上 $hdfsPath("/dolphinscheduler") 目录下创建租户目录,租户目录下为该租户上传的文件和 UDF 函数租户名称:
租户编码的别名
例:
安全中心 -> 租户管理 -> 创建租户
------------------------------------------------------
租户编码:developer
租户名称:DEFAULT-TENANT
队列值:default
------------------------------------------------------
提交
为该用户在 HDFS 上创建用户目录
sudo -u hdfs hadoop fs -mkdir /user/developer
sudo -u hdfs hadoop fs -chown developer:developer /user/developer
注:
此处为 管理员 创建管理员租户 dscheduler(租户编码:dscheduler 租户名称:WARING-DSCHEDULER)
sudo -u hdfs hadoop fs -mkdir /user/dscheduler
sudo -u hdfs hadoop fs -chown dscheduler:dscheduler /user/dscheduler
5.1.3 用户管理(User Manage)
说明:用户分为管理员用户和普通用户。
授予权限包括:项目权限,资源权限,数据源权限,UDF函数权限。
管理员可以对普通用户进行非其创建的项目、资源、数据源和UDF函数进行授权。
例:
安全中心 -> 用户管理 -> 创建用户
------------------------------------------------------
用户名称:tourist
密码:DS1234
租户:DEFAULT-TENANT
队列:default
邮箱:tourist@sohh.cn
手机号:
-----------------------------------------------------+-
提交
注:
实际生产环境中,可将 项目、用户、租户 相关联,即为某个大的项目创建一个用户及对应的租户。若需要删除用户,则应首先将项目内的任务删除,然后删除项目,再删除用户及关联的租户,否则会出现任务无法运行,项目不可见等情况(1.2 版本)
如果该 用户切换租户,则该 用户在当前租户下创建的所有资源 将 复制 到新的租户下(对于 HDFS 平台来说,则是将当前租户目录下该用户创建的所有资源复制到新租户的目录下,不复制被赋权的文件,且被赋权的文件仍有权限)。需要注意的是,此后进行文件删除操作时,旧租户下的对应的文件并不会被删除。
5.1.4 告警组管理(Warning group manage)
说明:告警组是在启动时设置的参数,在流程结束以后会将流程的状态和其他信息以邮件形式发送给告警组。
例:略
5.1.5 Worker分组管理(Worker group manage)
说明:
worker 分组,提供了一种让任务在指定的 worker 上运行的机制。
管理员创建 worker 分组,在任务节点和运行参数中设置中可以指定该任务运行的 worker 分组。
如果指定的分组被删除或者没有指定分组,则该任务会在任意一个 worker 上运行。worker 分组内多个 ip 地址(不能写别名),以英文逗号分隔。
例:
安全中心 -> Worker分组管理 -> 创建Worker分组
------------------------------------------------------
组名称:test01
IP:10.10.7.1
------------------------------------------------------
提交
5.1.6 令牌管理(Token manage)
说明:由于后端接口有登录检查,令牌管理,提供了一种可以通过调用接口的方式对系统进行各种操作。调用示例:略。详见:附录.令牌管理
5.2 监控中心(Monitor)
略
5.3 数据源中心(Datasource)
数据源中心支持MySQL、POSTGRESQL、HIVE及Spark等数据源
5.3.1 MySQL 数据源
例:
数据源中心 -> 创建数据源 -> MYSQL
------------------------------------------------------
数据源名称:test_mysql_mdb
描述:
IP主机名:test03
端口:3306
用户名:testuser
密码:Test@1234
数据库名:mydb
jdbc连接参数:
------------------------------------------------------
测试链接 -> 编辑
5.3.2 POSTGRESQL 数据源
略
5.3.3 HIVE 数据源
5.3.3.1 使用 HiveServer2 方式连接
例:
数据源中心 -> 创建数据源 -> HIVE/IMPALA
------------------------------------------------------
数据源名称:test_hiveserver2
描述:
IP主机名:test03
端口:10000
用户名:hive
密码:12341234
数据库名:mdb
jdbc连接参数:
------------------------------------------------------
测试链接 -> 编辑
5.3.3.2 使用 HiveServer2 HA Zookeeper 方式连接
例:
数据源中心 -> 创建数据源 -> HIVE/IMPALA
------------------------------------------------------
数据源名称:test_hiveserver2_ha
描述:
IP主机名:test01,test02,test03
端口:2181
用户名:hive
密码:12341234
数据库名:mydb
jdbc连接参数:{"serviceDiscoveryMode":"zooKeeper","zooKeeperNamespace":"hiveserver2_zk"}
------------------------------------------------------
测试链接 -> 编辑
注意:如果开启了kerberos,则需要填写 Principal
5.3.4 Spark 数据源
略
5.3.5 CLICKHOUSE
略
5.3.6 ORACLE
略
5.3.7 SQLSERVER
略
5.4 资源中心(Resources)
资源中心所有文件对应的 Mysql 表为:t_ds_resources
UDF 对应的 Mysql 表为:t_ds_udfs
资源中心的文件上传、删除操作使用的用户均为 install.sh 中指定的 $hdfsRootUser
5.4.1 文件管理
文件所在 HDFS 上的路径为:\$hdfsPath/\$tenant/resources/
创建文件支持的文件类型:txt、log、sh、conf、cfg、py、java、sql、xml、hql
上传文件常用于:用户程序,脚本及配置文件
注:
关于文件已存在(resource already exists )问题
文件管理中的文件,有 名称 和 文件名称 两个属性,判断文件是否存在,是根据 名称 进行判断的。
创建文件时,默认为 名称 与 文件名称 同名,若提示已存在,则需修改创建文件操作下的文件名称内容。新建的文件 名称 与 文件名称 都为修改后的文件名。
上传文件时,默认为 名称 与 文件名称 同名,若提示已存在,则需修改文件上传操作下的文件名称内容。上传的文件 名称 为修改后的文件名,文件名称 为上传文件的原文件名。
HDFS 上实际存储的文件,文件名为 名称 显示的内容。
在工作流定义中调用资源时,选取的是此处的 名称 属性。
5.4.2 UDF 管理
5.4.2.1 资源管理
上传 UDF 资源,同文件管理的上传文件操作。
5.4.2.2 函数管理
点击“创建UDF函数”,输入udf函数参数,选择udf资源,点击“提交”,创建udf函数。
注:目前只支持HIVE的 临时 UDF 函数。
5.5 项目管理(Project)
5.5.1 创建项目
项目名称 不可重复。即使为不同用户,创建项目时若 项目名称 已存在。会提示 “project Test already exists”。
若要删除项目,需要确认项目中所有 工作流定义 都已下线并删除,才能进行删除操作。
实际生产环境中,建议使用 管理员账户 创建项目,并对开发人员赋权。
例:
项目管理 -> 创建项目
------------------------------------------------------
项目名称:Demo
描述:
------------------------------------------------------
提交
5.5.2 项目首页
点击“项目名称”,进入“项目首页”。
任务状态统计:是指在指定时间范围内,统计 任务实例 中的待运行、失败、运行中、完成、成功的个数
流程状态统计:是指在指定时间范围内,统计 工作流实例 中的待运行、失败、运行中、完成、成功的个数
流程定义统计:是统计当前用户有权限的项目的 工作流定义 总数
注: 工作流定义 的工作流每运行一次,产生一个 工作流实例,一个 工作流实例 包含一到多个 任务实例。同一 任务实例 仅被统计一次,按最近时间状态进行统计。
5.5.3 工作流定义
5.5.3.1 创建工作流定义
例:
项目管理 -> 工作流 -> 工作流定义 -> 创建工作流
Step 1:拖拽“SHELL"节点到画布,新增一个Shell任务。
------------------------------------------------------
节点名称:task01
描述:This is a test task.
任务优先级:MEDIUM
Worker分组:Default
失败重试次数:0
失败重试间隔:1
脚本:
#!/bin/sh
echo "HELLO WORLD."
资源:
自定义参数:
------------------------------------------------------
确认添加
Step 2:拖拽“SHELL"节点到画布,新增一个Shell任务。
------------------------------------------------------
节点名称:task02
描述:This is another test task.
任务优先级:MEDIUM
Worker分组:Default
失败重试次数:0
失败重试间隔:1
脚本:
#!/bin/sh
echo "HELLO DOLPHIN SCHEDULER."
资源:
自定义参数:
-> 确认添加
------------------------------------------------------
Step 3:“选择线条连接”,连接任务1、2,tesk01、task02 会串行执行。
Step 4:保存
------------------------------------------------------
设置DAG图名称:Test_shell
选择租户:Default
------------------------------------------------------
-> 添加
更多任务类型详见:6. 任务节点类型和参数设置
5.5.3.2 工作流定义操作功能
工作流定义列表的操作功能如下:
编辑:只能编辑"下线"的工作流定义。工作流DAG编辑同创建工作流定义。
上线:工作流状态为"下线"时,上线工作流,只有"上线"状态的工作流能运行,但不能编辑。
下线:工作流状态为"上线"时,下线工作流,下线状态的工作流可以编辑,但不能运行。
运行:只有上线的工作流能运行。运行操作步骤见 5.5.3.3 运行工作流
定时:只有上线的工作流能设置定时,系统自动定时调度工作流运行。创建定时后的状态为"下线",需在定时管理页面上线定时才生效。定时操作步骤见 5.5.3.4 工作流定时。
定时管理:定时管理页面可编辑、上线/下线、删除定时。
删除:删除工作流定义。
下载:下载工作流定义到本地
树形图:以树形结构展示任务节点的类型及任务状态
5.5.3.3 运行工作流
工作流运行参数说明:
失败策略:当某一个任务节点执行失败时,其他并行的任务节点需要执行的策略。”继续“表示:某一任务失败后,其他任务节点正常执行;”结束“表示:终止所有正在执行的任务,并终止整个流程。
通知策略:当流程结束,根据流程状态发送流程执行信息通知邮件,包含任何状态都不发,成功发,失败发,成功或失败都发。
流程优先级:流程运行的优先级,分五个等级:最高(HIGHEST),高(HIGH),中(MEDIUM),低(LOW),最低(LOWEST)。当master线程数不足时,级别高的流程在执行队列中会优先执行,相同优先级的流程按照先进先出的顺序执行。
worker分组:该流程只能在指定的worker机器组里执行。默认是Default,可以在任一worker上执行。
通知组:选择通知策略||超时报警||发生容错时,会发送流程信息或邮件到通知组里的所有成员。
收件人:选择通知策略||超时报警||发生容错时,会发送流程信息或告警邮件到收件人列表。
抄送人:选择通知策略||超时报警||发生容错时,会抄送流程信息或告警邮件到抄送人列表。
补数:包括串行补数、并行补数2种模式。串行补数:指定时间范围内,从开始日期至结束日期依次执行补数,只生成一条流程实例;并行补数:指定时间范围内,多天同时进行补数,生成N条流程实例。
例:
项目管理 -> 工作流 -> 工作流定义 ->
选择工作流名称“Test_shell” -> 上线 -> 运行(参数均为默认,不做修改)
5.5.3.4 工作流定时
选择指定工作流,点击“定时”,选择起止时间、定时等选择定时执行时间。
点击"创建"按钮,创建定时成功,此时定时状态为"下线",定时需上线才生效。
定时上线:点击"定时管理"按钮,进入定时管理页面,点击"上线"按钮,定时状态变为"上线",如下图所示,工作流定时生效。
下线 工作流定义 后,定时任务业务也会同时下线,工作流定义 上线后,需要重新手动上线定时任务
5.5.3.5 导入工作流
点击项目管理->工作流->工作流定义,进入工作流定义页面,点击"导入工作流"按钮,导入本地工作流文件,工作流定义列表显示导入的工作流,状态为下线。
5.5.4 工作流实例
查看工作流实例:
项目管理 -> 工作流 -> 工作流实例 -> 点击工作流名称 -> 进入DAG查看页面,查看任务执行状态
查看任务日志:
进入DAG查看页面 -> 双击任务节点 -> 查看日志
查看任务历史记录:
进入DAG查看页面 -> 双击任务节点 -> 查看历史
查看运行参数:
进入工作流DAG页面 -> 点击左上角图标,查看工作流实例的启动参数、全局参数和局部参数
工作流实例操作功能:
编辑:可以对已经终止的流程进行编辑,编辑后保存的时候,可以选择是否 更新到工作流定义
重跑:可以对已经终止的流程进行重新执行
恢复失败:针对失败的流程,可以执行恢复失败操作,从失败的节点开始执行
停止:对正在运行的流程进行停止操作,后台会先 kill worker 进程,再执行 kill -9 操作
暂停:可以对正在运行的流程进行暂停操作,系统状态变为等待执行,会等待正在执行的任务结束,暂停下一个要执行的任务
恢复暂停:可以对暂停的流程恢复,直接从暂停的节点开始运行
删除:删除工作流实例及工作流实例下的任务实例
甘特图:Gantt图纵轴是某个工作流实例下的任务实例的拓扑排序,横轴是任务实例的运行时间
5.5.5 任务实例
任务实例 -> 点击工作流实例名称 -> 可跳转到工作流实例DAG图查看任务状态
任务实例 -> 查看日志
文章目录:
DS 1.2.0 使用文档(1/8):架构及名词解释
DS 1.2.0 使用文档(2-3/8):集群规划及环境准备
DS 1.2.0 使用文档(4/8):软件部署
DS 1.2.0 使用文档(5/8):使用与测试
DS 1.2.0 使用文档(6/8):任务节点类型与任务参数设置
DS 1.2.0 使用文档(7/8):系统参数及自定义参数
DS 1.2.0 使用文档(8/8):附录