2

我正在尝试通过以下方式使用 AWS Data Pipeline 服务:

  1. 选择活动类型为 Shell Command 活动,脚本 uri 设置(到 s3 存储桶),Stage 输入设置为 true。
  2. 将活动的资源类型设置为 EC2。
  3. 使用 S3 作为数据节点。
  4. 对于 ec2 资源,我选择了实例类型为 t2.medium,实例 ID 选择为我创建的自定义 AMI。
  5. 安排管道在每天晚上 10 点运行。

步骤 1 中指定的脚本(即作为活动中脚本 uri 的一部分)有 2 行: 1. 将 S3 存储桶数据复制到实例。2.运行python命令来执行我的程序。我创建的 AMI 基于 ec2 的 Ubuntu 实例,它由一些 python 软件和我想运行的代码组成。

现在,在启动管道时,我注意到确实创建了 ec2 实例,并且 S3 数据被复制并可供实例使用,但没有运行 python 命令。实例处于运行状态并且管道处于等待运行器状态一段时间,然后数据管道失败并显示消息:“资源停止”。

如果我做错了什么,或者为什么我的 python 代码没有被执行,或者为什么我得到资源停滞错误,有人可以告诉我吗?如果我在没有管道的情况下手动运行代码,则代码可以正常工作。

提前致谢!!

4

1 回答 1

1

“资源停滞”几乎总是意味着自定义 AMI 的设置存在问题。这些要求记录在这里。短子弹:

自定义 AMI 必须满足以下要求,AWS Data Pipeline 才能成功地将其用于 Task Runner:

  • 在实例将在其中运行的同一区域中创建 AMI。
  • 确保您计划使用的实例类型支持 AMI 的虚拟化类型。例如,I2 和 G2 实例类型需要 HVM AMI,而 T1、C1、M1 和 M2 实例类型需要 PV AMI。
  • 安装以下软件:
    • Linux
    • 重击
    • wget
    • 解压
    • Java 1.6 或更新版本
    • 云初始化
  • 创建并配置一个名为 ec2-user 的用户帐户。
于 2016-12-13T03:18:15.313 回答