向集群添加超过 256 个步骤 - Amazon EMR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

向集群添加超过 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 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子命令连接和提交作业。有关与主节点建立 SSH 连接的更多信息,请参阅使用 SSH Connect 到主节点。有关以交互方式提交 Hadoop 任务的更多信息,请参阅以交互方式提交 Hadoop 任务