Amazon EMR
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

向集群添加超过 256 个步骤

从 AMI 3.1.1 (Hadoop 2.x) 和 AMI 2.4.8 (Hadoop 1.x) 开始,可以在长时间运行的集群的生命周期内提交无限数量的步骤,但是在任何给定时间只有 256 个步骤可以处于活动或待处理状态。对于较早的 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 之外的 EC2 实例上运行的工作流程程序,并使用 SSH 向长时间运行的集群提交任务。

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

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