SHELL

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

SHELL任务类型,用于创建SHELL类型的任务并执行自定义的Shell脚本。本文为您介绍创建SHELL类型任务时涉及的参数,并提供了SHELL任务的示例。

参数说明

参数

说明

节点名称

任务的名称。一个工作流定义中的节点名称是唯一的。

运行标志

  • 正常(默认):运行工作流时执行该任务。

  • 禁止执行:运行工作流不会执行该任务。

描述

当前节点的功能描述。

任务优先级

流程运行的优先级。支持以下级别:

  • HIGHEST:最高。

  • HIGH:高。

  • MEDIUM(默认):中。

  • LOW:低。

  • LOWEST:最低。

失败重试次数

工作流运行失败自动重试的次数。

失败重试间隔

每次失败重试的间隔。单位:分。

延时执行时间

延时执行时间,默认为0,即立即执行,设置了该值后才执行延时操作。单位:分。

超时告警

该开关默认关闭。打开超时告警开关,可设定超时时长,并选择至少一个超时策略。

  • 选择超时告警策略,当任务运行时长超过设置的超时时长后,系统将向指定的告警组发送通知。

  • 选择超时失败策略,当任务运行时长超过设置的超时时长后,该任务实例会立即失败。

任务提交节点

  • 调度资源组节点(默认):任务在Workflow的调度资源组节点提交。

  • EMR集群worker节点(提交到Yarn执行):任务在EMR集群的Worker节点提交,占用一个YARN Container。

    警告

    该模式会直接影响EMR集群的文件系统或运行环境,请谨慎操作。

    使用该模式,您还可以选择配置以下参数:

    • 调度队列:指定任务提交的YARN队列。

    • 任务执行容器内存(MB):指定任务执行容器的内存。默认值为1024。

    • 虚拟核数:指定任务执行容器的虚拟核数(vCores)。默认值为1。

    • 优先级:指定任务执行容器的优先级(0-100)。默认值为0,数值越大,优先级越高。

    • 执行用户:默认提交任务的用户为dolphinscheduler。标准集群(非高安全集群),如果需要设置执行用户,请确保YARN服务包含如下配置项:

      • yarn.nodemanager.container-executor.class=org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor

      • yarn.nodemanager.linux-container-executor.nonsecure-mode.limit-users=false

脚本

您自定义的Shell程序。

资源

选择任务执行时所需的资源文件,请确保您已在资源中心文件管理页面,创建或者上传了相应的文件。选择所需文件后,您可以在任务脚本中通过完整路径引用它们。例如,path/to/test.txt

自定义参数

任务自定义参数,会替换脚本中${变量}的内容。更多参数配置信息,请参见参数说明

前置任务

设置当前任务的前置(上游)任务。

任务示例

简单打印信息

该示例演示了一个简单的任务,输出资源中心中文件的内容。当我们保存并运行任务后,日志中将输出test.txt文件和dir目录下file1.txt文件的内容。

image.png

使用自定义参数

该示例演示了如何使用变量来实现自定义参数任务,以增加脚本的复用性。通过使用变量,您可以更方便地复用已有的任务,或者适应动态的需求。在本例中,先自定义了VARCHAR类型的参数DD,将参数值设置为this is a test,然后在脚本声明了echo命令echo "hello world, ${DD}"。当我们保存并运行任务后,在日志中会看到将hello world, this is a test信息打印出来。

image.png