请说明在 DolphinScheduler 中,使用 Shell 脚本任务来运行自定义任务的具体做法。
考察说明
考查对 DolphinScheduler 中 Shell 任务类型的基本使用流程和配置要点的掌握。
回答思路
- 【回答框架 1】在 DolphinScheduler 中,Shell 任务是一种节点类型,用于执行用户定义的 Shell 脚本或命令。创建任务时,在工作流定义中添加 Shell 节点,并在节点配置中填写脚本内容或指定脚本路径。
- 【回答框架 2】脚本内容可以直接写在任务节点的‘脚本’参数中,也可以引用资源中心上传的脚本文件。若使用资源文件,需在配置中关联资源,并确保执行环境可访问该资源。
- 【回答框架 3】Shell 任务支持参数传递,可通过自定义参数或引用上游任务输出,实现任务间数据传递。脚本中可使用 ${变量名} 形式引用参数。
- 【回答框架 4】执行时,DolphinScheduler 会将脚本提交到指定的 worker 组运行,默认使用 /bin/sh 执行。需注意脚本权限、执行用户及环境变量配置,确保脚本可正常运行。
- 【回答框架 5】任务运行日志可在任务实例中查看,便于排查脚本错误。配置超时时间和重试策略可提高任务稳定性。
- 【关键点 1】Shell 任务节点需配置脚本内容或资源文件路径。
- 【关键点 2】支持参数传递,通过 ${变量名} 引用。
- 【关键点 3】执行环境需具备脚本运行所需权限和依赖。
- 【关键点 4】可通过任务实例日志排查执行问题。
- 【易错点 1】脚本未设置执行权限可能导致运行失败。
- 【易错点 2】忽略环境变量或依赖路径可能导致脚本无法找到命令或文件。
- 【易错点 3】参数传递时未正确转义特殊字符可能引发脚本错误。