Jast blog Jast blog
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

Jast-zsh

如果你知道你要去哪里,全世界都会给你让路。
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • DolphinScheduler集群搭建
  • DolphinScheduler数据源中心
  • DolphinScheduler资源中心
    • 基础操作
      • 创建文件
      • 上传文件
      • 文件查看
      • 下载文件
      • 文件重命名
      • 删除文件
    • 任务样例
      • 创建 shell 文件
      • 创建工作流执行文件
      • 查看结果
    • 函数管理
    • 任务样例
      • 编写 UDF 函数
      • 配置 UDF 函数
      • 使用 UDF 函数
    • 任务组配置
      • 新建任务组
      • 查看任务组队列
      • 任务组的使用
    • 任务组的实现逻辑
      • 获取任务组资源:
      • 释放与唤醒:
      • 任务组流程图
  • DolphinScheduler使用详细介绍
  • DolphinScheduler告警
  • 《DolphinScheduler教程》笔记
Jast-zsh
2023-04-26
目录

DolphinScheduler资源中心

[toc]

# 文件管理

当在调度过程中需要使用到第三方的 jar 或者用户需要自定义脚本的情况,可以通过在该页面完成相关操作。可创建的文件类型包括:txt/log/sh/conf/py/java 等。并且可以对文件进行编辑、重命名、下载和删除等操作。

注意:

  • 当您以admin身份等入并操作文件时,需要先给admin设置租户

# 基础操作

file-manage

# 创建文件

文件格式支持以下几种类型:txt、log、sh、conf、cfg、py、java、sql、xml、hql、properties

create-file

# 上传文件

上传文件:点击"上传文件"按钮进行上传,将文件拖拽到上传区域,文件名会自动以上传的文件名称补全

upload-file

# 文件查看

对可查看的文件类型,点击文件名称,可查看文件详情

file_detail

# 下载文件

点击文件列表的"下载"按钮下载文件或者在文件详情中点击右上角"下载"按钮下载文件

# 文件重命名

rename-file

# 删除文件

文件列表->点击"删除"按钮,删除指定文件

# 任务样例

该样例主要通过一个简单的 shell 脚本,来演示如何在工作流定义中使用资源中心的文件。像 MR、Spark 等任务需要用到 jar 包,也是同理。

# 创建 shell 文件

创建一个 shell 文件,输出 “hello world”。

create-shell

# 创建工作流执行文件

在项目管理的工作流定义模块,创建一个新的工作流,使用 shell 任务。

  • 脚本:sh hello.sh
  • 资源:选择 hello.sh

注意:

1.脚本中选择资源文件时文件名称需要保持和所选择资源全路径一致: 例如:资源路径为resource/hello.sh 则脚本中调用需要使用resource/hello.sh全路径

2.在这个sh脚本中引用echo 测试输出Shell文件内容:$[yyyyMMddHHmmss],时间是无法输出的

use-shell

# 查看结果

可以在工作流实例中,查看该节点运行的日志结果。如下图:

log-shell

# UDF管理

  • 资源管理和文件管理功能类似,不同之处是资源管理是上传的 UDF 函数,文件管理上传的是用户程序,脚本及配置文件。

  • 主要包括以下操作:重命名、下载、删除等。

  • 上传 UDF 资源和上传文件相同。

# 函数管理

  • 创建 UDF 函数

    点击“创建 UDF 函数”,输入 UDF 函数参数,选择udf资源,点击“提交”,创建 UDF 函数。 目前只支持 HIVE 的临时 UDF 函数

  • UDF 函数名称:输入 UDF 函数时的名称

  • 包名类名:输入 UDF 函数的全路径

  • UDF 资源:设置创建的 UDF 对应的资源文件

注意:

创建UDF函数之前,需要再UDF管理->资源管理中上传UDF函数Jar包

image-20230325095242781

# 任务样例

# 编写 UDF 函数

用户可以根据实际生产需求,自定义想要的 UDF 函数。这里编写一个在任意字符串的末尾添加 "HelloWorld" 的函数。如下图所示:

code-udf

# 配置 UDF 函数

配置 UDF 函数前,需要先通过资源管理上传所需的函数 jar 包。然后进入函数管理,配置相关信息即可。如下图所示:

conf-udf

# 使用 UDF 函数

在使用 UDF 函数过程中,用户只需关注具体的函数编写,通过资源中心上传配置完成即可。系统会自动配置 create function 语句,参考如下:SqlTask (opens new window)

进入工作流定义一个 SQL 节点,数据源类型选择为 HIVE,数据源实例类型为 HIVE/IMPALA。

  • SQL 语句:select HwUdf("abc"); 该函数与内置函数使用方式一样,直接使用函数名称即可访问。
  • UDF 函数:选择资源中心所配置的即可。

use-udf

# 任务组管理

任务组主要用于控制任务实例并发,旨在控制其他资源的压力(也可以控制 Hadoop 集群压力,不过集群会有队列管控)。您可在新建任务定义时,可配置对应的任务组,并配置任务在任务组内运行的优先级。

# 任务组配置

# 新建任务组

用户点击【资源中心】-【任务组管理】-【任务组配置】-新建任务组

image-20230325114023604

您需要输入图片中信息,其中

【任务组名称】:任务组在被使用时显示的名称

【项目名称】:任务组作用的项目,该项为非必选项,如果不选择,则整个系统所有项目均可使用该任务组。

【资源容量】:允许任务实例并发的最大数量

# 查看任务组队列

image-20230325114204983

# 任务组的使用

注:任务组的使用适用于由 worker 执行的任务,例如【switch】节点、【condition】节点、【sub_process】等由 master 负责执行的节点类型不受任务组控制。

我们以 shell 节点为例:

use-queue

关于任务组的配置,您需要做的只需要配置红色框内的部分,其中:

【任务组名称】:任务组配置页面显示的任务组名称,这里只能看到该项目有权限的任务组(新建任务组时选择了该项目),或作用在全局的任务组(新建任务组时没有选择项目)

【组内优先级】:在出现等待资源时,优先级高的任务会最先被 master 分发给 worker 执行,该部分数值越大,优先级越高。

# 任务组的实现逻辑

# 获取任务组资源:

Master 在分发任务时判断该任务是否配置了任务组,如果任务没有配置,则正常抛给 worker 运行;如果配置了任务组,在抛给 worker 执行之前检查任务组资源池剩余大小是否满足当前任务运行,如果满足资源池 -1,继续运行;如果不满足则退出任务分发,等待其他任务结束唤醒。

# 释放与唤醒:

当获取到任务组资源的任务结束运行后,会释放任务组资源,释放后会检查当前任务组是否有任务等待,如果有则标记优先级最好的任务可以运行,并新建一个可以执行的event。该event中存储着被标记可以获取资源的任务id,随后在获取任务组资源然后运行。

# 任务组流程图

task_group

上次更新: 2023/05/11, 15:51:39
DolphinScheduler数据源中心
DolphinScheduler使用详细介绍

← DolphinScheduler数据源中心 DolphinScheduler使用详细介绍→

最近更新
01
Linux可视化监控
02-26
02
Maven私服搭建
02-26
03
当ElasticSearch时间字段设置多个格式到底是用的哪个?
01-19
更多文章>
Theme by Vdoing | Copyright © 2016-2025 Jast-zsh | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式