Adición de pasos a un clúster de Amazon EMR con la AWS CLI
En los siguientes procedimientos se muestra cómo agregar pasos a un clúster recién creado y a un clúster en ejecución con la AWS CLI. En ambos ejemplos, el subcomando --steps
se utiliza para agregar pasos al clúster.
Para añadir pasos durante la creación del clúster
-
Escriba el siguiente comando para crear un clúster y añadir un paso de Apache Pig. Asegúrese de sustituir
por el nombre de su par de claves de Amazon EC2.myKey
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"}]'nota
La lista de argumentos cambia en función del tipo de paso.
De forma predeterminada, el nivel de simultaneidad de pasos es
1
. Puede establecer el nivel de simultaneidad de pasos con el parámetroStepConcurrencyLevel
al crear un clúster.La salida de un identificador de clúster es similar a la siguiente.
{ "ClusterId": "j-2AXXXXXXGAPLF" }
Para añadir un paso a un clúster en ejecución
-
Escriba el siguiente comando para añadir un paso a un clúster en ejecución. Sustituya
por el ID de su propio clúster.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"}]'La salida es un identificador de paso similar al siguiente.
{ "StepIds": [ "s-Y9XXXXXXAPMD" ] }
Para modificar StepConcurrencyLevel en un clúster en ejecución
-
En un clúster en ejecución, puede modificar
StepConcurrencyLevel
con la API deModifyCluster
. Por ejemplo, escriba el siguiente comando para aumentarStepConcurrencyLevel
a10
. Sustituya
por el ID de su clúster.j-2AXXXXXXGAPLF
aws emr modify-cluster --cluster-id
j-2AXXXXXXGAPLF
--step-concurrency-level 10 -
El resultado es similar al siguiente.
{ "StepConcurrencyLevel": 10 }
Para obtener más información acerca del uso de los comandos de Amazon EMR en la AWS CLI, consulte la Referencia de los comandos de la AWS CLI.