向集群添加超过 256 个步骤 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

向集群添加超过 256 个步骤

使用 AMI 3.1.1 (Hadoop 2.x) 或更高版本以及 AMI 2.4.8 (Hadoop 1.x) 或更高版本,可以在长时间运行的集群的生命周期内提交无限数量的步骤。但是,在任何给定时间,只有 256 个步骤可以处于 PENDING 或 RUNNING 状态。对于较早的 AMI 版本,集群可以处理的步骤总数限制为 256,包括系统步骤(如安装 Hive 和安装 Pig)。有关更多信息,请参阅向集群提交工作

您可以使用以下几种方法之一在 3.1.1 和 2.4.8 之前的 AMI 版本中克服 256 个步骤的限制:

  1. 让每个步骤提交多种作业给 Hadoop。这不会让您在 3.1.1 和 2.4.8 之前的 AMI 版本中获得不受限制的步骤,但如果您需要 256 个以上的固定数量步骤,这是最简单的解决方案。

  2. 编写工作流程序,使之在长时间运行的集群步骤中运行,并提交任务给 Hadoop。工作流程程序可以执行以下操作之一:

    • 侦听 Amazon SQS 队列,接收有关要运行的新步骤的信息。

    • 定期检查 Amazon S3 存储桶中的文件,查看包含要运行的新步骤的相关信息的文件。

  3. 编写在 Amazon EMR 之外的 Amazon EC2 实例上运行的工作流程序,并使用 SSH 向长时间运行的集群提交任务。

  4. 通过 SSH 连接到长时间运行的集群,然后使用 Hadoop API 提交 Hadoop 任务。有关更多信息,请参阅 http://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapred/JobClient.html

  5. 连接到主节点并向集群提交作业。使用 SSH 客户端(如 PuTTY 或 OpenSSH)进行连接,然后手动向集群提交作业,或者是在 ssh 中使用 Amazon CLI 子命令进行连接并提交作业。有关与主节点建立 SSH 连接的更多信息,请参阅使用 SSH 连接到主节点 (master node) 。有关以交互方式提交 Hadoop 任务的更多信息,请参阅以交互方式提交 Hadoop 任务