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

使用 Amazon CLI 向集群添加步骤

以下过程演示如何使用 Amazon CLI 向新创建的集群和正在运行的集群添加步骤。两个示例都使用 --steps 子命令向集群添加步骤。

在集群创建过程中添加步骤
  • 键入以下命令以创建集群并添加一个 Apache Pig 步骤。确保将 myKey 替换为您的 Amazon EC2 密钥对的名称。

    aws emr create-cluster --name "Test cluster" \ --applications Name=Spark \ --use-default-roles \ --ec2-attributes KeyName=myKey \ --instance-groups InstanceGroupType=PRIMARY,InstanceCount=1,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=2,InstanceType=m5.xlarge \ --steps '[{"Args":["spark-submit","--deploy-mode","cluster","--class","org.apache.spark.examples.SparkPi","/usr/lib/spark/examples/jars/spark-examples.jar","5"],"Type":"CUSTOM_JAR","ActionOnFailure":"CONTINUE","Jar":"command-runner.jar","Properties":"","Name":"Spark application"}]'
    注意

    参数列表因步骤类型而异。

    默认情况下,步骤并发级别为 1。您可以在创建集群时使用 StepConcurrencyLevel 参数设置步骤并发级别。

    输出是类似于以下内容的集群标识符。

    { "ClusterId": "j-2AXXXXXXGAPLF" }
向正在运行的集群添加步骤
  • 键入以下命令以向正在运行的集群添加步骤。使用您自己的集群 ID 替换 j-2AXXXXXXGAPLF

    aws emr add-steps --cluster-id j-2AXXXXXXGAPLF \ --steps '[{"Args":["spark-submit","--deploy-mode","cluster","--class","org.apache.spark.examples.SparkPi","/usr/lib/spark/examples/jars/spark-examples.jar","5"],"Type":"CUSTOM_JAR","ActionOnFailure":"CONTINUE","Jar":"command-runner.jar","Properties":"","Name":"Spark application"}]'

    输出是类似于以下内容的步骤标识符。

    { "StepIds": [ "s-Y9XXXXXXAPMD" ] }
修改正在运行的集群中的 StepConcurrencyLevel
  1. 在正在运行的集群中,您可以使用 ModifyCluster API 修改 StepConcurrencyLevel。例如,键入以下命令将 StepConcurrencyLevel 增加到 10。使用您的集群 ID 替换 j-2AXXXXXXGAPLF

    aws emr modify-cluster --cluster-id j-2AXXXXXXGAPLF --step-concurrency-level 10
  2. 输出类似于以下内容。

    { "StepConcurrencyLevel": 10 }

有关在 Amazon CLI 中使用 Amazon EMR 命令的更多信息,请参阅 Amazon CLI 命令参考