将集群配置为在步骤执行后继续或终止 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

将集群配置为在步骤执行后继续或终止

本主题解阐释了使用长时间运行的集群与创建在最后一步运行后关闭的临时集群之间的区别。它还介绍了如何为集群配置步骤执行。

创建长时间运行的集群

默认情况下,使用控制台或Amazon CLI的集群正在长时间运行。长时间运行的集群将继续运行、接受工作并累积费用,直到您采取措施关闭它们。

长时间运行的集群在以下情况十分有效:

  • 当你需要交互式或自动查询数据时。

  • 当您需要与集群上托管的大数据应用程序持续交互时。

  • 当您定期处理大型数据集或需要频繁处理时,每次都无法有效启动新集群和加载数据。

您还可以在长时间运行的集群上设置终止保护,以避免意外或错误关闭 EC2 实例。有关更多信息,请参阅 使用终止保护

注意

Amazon EMR 会为具有多个主节点 (master node) 的所有集群自动启用终止保护,并覆盖您在创建集群时应用的所有步骤执行设置。您可以在集群启动后禁用终止保护。请参阅 为正在运行的集群配置终止保护。要关闭具有多个主节点 (master node) 的集群,您必须先修改集群属性,才能禁用终止保护。有关说明,请参阅终止具有多个主节点 (master node) 的 Amazon EMR 集群

将集群配置为在步骤执行后终止

在步骤执行后配置终止时,集群将启动、运行引导启动操作,然后运行您指定的步骤。最后一步完成后,Amazon EMR 将终止集群的 Amazon EC2 实例。默认情况下,您使用 Amazon EMR API 启动的集群启用了步骤执行。

步骤执行后终止,对于定期执行处理任务(例如日常数据处理运行)的集群来说,极其有效。步骤执行还可帮助您确保您只需按处理数据所需的时间付费。有关步骤的更多信息,请参阅 使用 Amazon CLI 和控制台执行步骤

使用 Amazon EMRAPI 禁用步骤执行

使用Amazon Web Services Management Console中的快速选项启用步骤执行

  1. 通过以下链接打开 Amazon EMR 控制台:https://console.aws.amazon.com/elasticmapreduce/

  2. 选择创建集群

  3. 选择 Step execution (步骤执行)

  4. 选择适用于您的应用程序的其他设置,然后选择 Create Cluster (创建集群)

使用Amazon Web Services Management Console中的高级选项 (Advanced Options) 启用步骤执行

  1. 通过以下链接打开 Amazon EMR 控制台:https://console.aws.amazon.com/elasticmapreduce/

  2. 选择创建集群

  3. 选择 Go to advanced options (转到高级选项)

  4. Add steps (optional) (添加步骤(可选)) 下,选择 Auto-terminate cluster after the last step is completed (完成最后的步骤后,自动终止集群)

  5. 选择适用于您的应用程序的其他设置,然后选择 Create Cluster (创建集群)

使用Amazon CLI启用步骤执行

  • 使用 --auto-terminate 命令时指定 create-cluster 参数以创建暂时性集群。

    以下示例演示如何使用 --auto-terminate 参数。您可以键入以下命令,将 myKey 替换为您的 EC2 密钥对的名称。

    注意

    为了便于读取,包含 Linux 行继续符 (\)。它们可以通过 Linux 命令删除或使用。对于 Windows,请将它们删除或替换为脱字符 (^)。

    aws emr create-cluster --name "Test cluster" --release-label emr-5.33.0 \ --applications Name=Hive Name=Pig --use-default-roles --ec2-attributes KeyName=myKey \ --steps Type=PIG,Name="Pig Program",ActionOnFailure=CONTINUE,\ Args=[-f,s3://mybucket/scripts/pigscript.pig,-p,\ INPUT=s3://mybucket/inputdata/,-p,OUTPUT=s3://mybucket/outputdata/,\ $INPUT=s3://mybucket/inputdata/,$OUTPUT=s3://mybucket/outputdata/] --instance-type m5.xlarge --instance-count 3 --auto-terminate