任务编排中的ECS远程命令节点,可以基于ECS云助手在远程ECS上执行Shell、PowerShell或Bat命令。本文介绍配置ECS远程命令节点的方法。

前提条件

  • 已购买一台ECS实例。具体操作,请参见使用向导创建实例
  • ECS实例已添加标签键为dms,标签值为script-for-dms的标签。具体操作,请参见编辑实例标签
  • 已安装云助手客户端。具体操作,请参见安装云助手客户端
    说明 2017年12月01日之后使用公共镜像创建的ECS实例,默认预装云助手客户端。
  • RAM用户(子账号)需要添加ECS的InvokeCommand权限。具体操作如下所示:
    1. 创建权限策略。您可以在可视化编辑Beta或脚本编辑两种创建策略方式中任选一种。具体操作,请参见创建自定义权限策略。添加权限策略的语句如下:
      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "ecs:InvokeCommand"
            ],
            "Resource": [
              "*"
            ],
            "Condition": {}
          }
        ]
      }
    2. 为RAM用户授权

应用场景

  • 使用高级工具(例如:Python的Numpy库、Sklearn库,Spark的MLlib库)加工数据,产出各种业务模型,应用到搜索系统的精排、推荐系统。
  • 数据消费。例如,读取数据生成的Excel脚本,读取数据发邮件的脚本等。
  • 调用自建Hadoop的MapReduce程序或Spark程序等。

操作步骤

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择集成与开发(DTS) > 数据开发 > 任务编排
  3. 单击目标任务流名称,进入任务流详情页面。
    说明 如果您需要新增任务流,请参见新增任务流
  4. 在画布左侧任务类型列表中,拖拽ECS远程命令节点到画布空白区域。
  5. 双击ECS远程命令节点。
  6. 在ECS远程命令节点的配置页面,配置节点参数。
    分类 配置项 是否必填 说明
    基础配置 地域 选择目标ECS实例的地域。
    ECS实例ID ECS实例ID列表中,选择执行命令的ECS实例。
    说明
    • 只有在ECS控制台上添加了键为dms,值为script-for-dms标签的实例,才会出现在ECS实例ID列表中。
    • 可以选择多个操作系统一致的ECS实例。
    命令类型
    • 如果ECS实例为Linux系统,选择Shell。
    • 如果ECS实例为Windows系统,选择Bat或PowerShell。
    超时时间 设置执行命令的超时时间,单位为秒(s)。
    运行目录 输入命令在ECS实例中的运行目录。
    高级配置 用户名 输入在ECS实例中执行命令的用户名。
    说明 如果使用非root或system用户执行命令,需要配置用户权限。具体操作,请参见设置普通用户执行云助手命令
    Windows密码名称 输入Windows用户的密码名称。
    说明 设置Windows实例执行命令的用户密码名称。具体操作,请参见设置普通用户执行云助手命令
    命令配置 命令配置 输入需要在ECS实例中执行的命令。

    例如,执行命令python /home/admin/hello.py

  7. 可选:配置输出变量。输出变更可以被下游节点查看和引用。
    1. 在页面右侧,单击变量设置页签。
    2. 单击输出变量页签。
    3. 单击增加变量
    4. 变量文本框中,填写脚本输出变量的名称。关于脚本输出变量,请参见变量介绍
    说明 如果多个ECS实例最后一行返回的值均为JSON格式数据,系统会合并多个ECS实例最后一行返回的值。例如,A实例返回{"a":"hello"},B实例返回{"b":"world"},那么变量a、变量b都可作为脚本输出变量。
  8. 在页面上方,单击试运行
    • 如果执行日志的最后一行出现status SUCCEEDED,表明任务试运行成功。
    • 如果执行日志的最后一行出现status FAILED,表明任务试运行失败。单击运行日志,查看执行失败原因,修改配置后重新尝试。