

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

# 使用向 Amazon EMR 集群添加步骤 AWS CLI
<a name="add-step-cli"></a>

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

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

  ```
  1. aws emr create-cluster --name "Test cluster" \
  2. --applications Name=Spark \
  3. --use-default-roles \
  4. --ec2-attributes KeyName=myKey \
  5. --instance-groups InstanceGroupType=PRIMARY,InstanceCount=1,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=2,InstanceType=m5.xlarge \
  6. --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` 参数设置步骤并发级别。

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

  ```
  1. {
  2.     "ClusterId": "j-2AXXXXXXGAPLF"
  3. }
  ```

**向正在运行的集群添加步骤**
+ 键入以下命令以向正在运行的集群添加步骤。使用您自己的集群 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"}]'
  ```

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

  ```
  1. {
  2.     "StepIds": [
  3. 	"s-Y9XXXXXXAPMD"
  4.     ]
  5. }
  ```

**在正在运行的集群 StepConcurrencyLevel 中修改**

1. 在正在运行的集群中，您可以使用 `ModifyCluster` API 修改 `StepConcurrencyLevel`。例如，键入以下命令将 `StepConcurrencyLevel` 增加到 `10`。使用您的集群 ID 替换 `j-2AXXXXXXGAPLF`。

   ```
   aws emr modify-cluster --cluster-id j-2AXXXXXXGAPLF --step-concurrency-level 10
   ```

1. 输出类似于以下内容。

   ```
   {
   "StepConcurrencyLevel": 10
   }
   ```

有关在中使用 Amazon EMR 命令的更多信息 AWS CLI，请参阅[AWS CLI 命令](https://docs.aws.amazon.com/cli/latest/reference/emr)参考。