尝试在AWS Data Pipeline上构建自动化脚本

时间:2015-01-30 01:57:38

标签: python amazon-web-services amazon-s3 automation amazon-data-pipeline

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

  1. 将活动类型选择为Shell Command活动,并将脚本uri设置为(s3存储桶)并将Stage输入设置为true。
  2. 将活动的资源类型设置为EC2。
  3. 使用S3作为数据节点。
  4. 对于ec2资源,我选择了实例类型为t2.medium和实例ID作为我创建的自定义AMI。
  5. 安排管道每天晚上10点运行。
  6. 步骤1中指定的脚本(即作为活动中脚本uri的一部分)有两行: 1.将S3存储桶数据复制到实例。 2.运行python命令执行我的程序。 我创建的AMI基于ec2的Ubuntu实例,它包含一些python软件以及我想运行的代码。

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

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

    提前致谢!!

1 个答案:

答案 0 :(得分:1)

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

  

自定义AMI必须满足AWS Data Pipeline的以下要求才能成功将其用于任务运行器:

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