任务编排中的ECS远程命令节点,可以基于ECS云助手在远程ECS上执行Shell、PowerShell或Bat命令。本文介绍配置ECS远程命令节点的方法。
应用场景
使用高级工具(例如:Python的Numpy库、Sklearn库,Spark的MLlib库)加工数据,产出各种业务模型,应用到搜索系统的精排、推荐系统。
数据消费。例如,读取数据生成的Excel脚本,读取数据发邮件的脚本等。
调用自建Hadoop的MapReduce程序或Spark程序等。
前提条件
已购买一台ECS实例。具体操作,请参见自定义购买实例。
ECS实例已添加标签键为
dms
,标签值为script-for-dms
的标签。具体操作,请参见编辑实例标签。已安装云助手客户端。具体操作,请参见安装云助手Agent。
说明2017年12月01日之后使用公共镜像创建的ECS实例,默认预装云助手客户端。
RAM用户(子账号)需要添加ECS的InvokeCommand权限。具体操作如下所示:
操作步骤
- 登录数据管理DMS 5.0。
在顶部菜单栏中,选择集成与开发(DTS)> 数据开发 > 任务编排。
说明若您使用的是极简模式的控制台,请单击左上角的,选择全部功能 < 集成与开发(DTS) < 数据开发 < 任务编排。
单击目标任务流名称,进入任务流详情页面。
说明如果您需要新增任务流,请参见新增任务流。
在画布左侧任务类型列表中,拖拽ECS远程命令节点到画布空白区域。
双击ECS远程命令节点。
在ECS远程命令节点的配置页面,配置节点参数。
分类
配置项
是否必填
说明
基础配置
地域
是
选择目标ECS实例的地域。
ECS实例ID
是
在ECS实例ID列表中,选择执行命令的ECS实例。
说明只有在ECS控制台上添加了键为
dms
,值为script-for-dms
标签的实例,才会出现在ECS实例ID列表中。可以选择多个操作系统一致的ECS实例。
命令类型
是
如果ECS实例为Linux系统,选择Shell。
如果ECS实例为Windows系统,选择Bat或PowerShell。
超时时间
是
设置执行命令的超时时间,单位为秒(s)。
运行目录
是
输入命令在ECS实例中的运行目录。
若您不填该参数,则系统将自动为您选择默认的运行目录,Linux实例默认为
/root
,Windows实例默认为C:\Windows\System32
。高级配置
用户名
是
输入在ECS实例中执行命令的用户名。
说明如果使用非root或system用户执行命令,需要配置用户权限。具体操作,请参见设置普通用户执行云助手命令。
Windows密码名称
是
输入Windows用户的密码名称。
说明设置Windows实例执行命令的用户密码名称。具体操作,请参见设置普通用户执行云助手命令。
命令配置
命令配置
是
输入需要在ECS实例中执行的命令。
例如,执行命令
python /home/admin/hello.py
。可选:配置输出变量。输出变更可以被下游节点查看和引用。
在页面右侧,单击变量设置页签。
单击输出变量页签。
单击增加变量。
在变量文本框中,填写脚本输出变量的名称。关于脚本输出变量,请参见变量介绍。
说明如果多个ECS实例最后一行返回的值均为JSON格式数据,系统会合并多个ECS实例最后一行返回的值。例如,A实例返回{"a":"hello"},B实例返回{"b":"world"},那么变量a、变量b都可作为脚本输出变量。
在页面上方,单击试运行。
如果执行日志的最后一行出现
status SUCCEEDED
,表明任务试运行成功。如果执行日志的最后一行出现
status FAILED
,表明任务试运行失败。单击运行日志,查看执行失败原因,修改配置后重新尝试。