Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cambio manual del tamaño de un clúster de Amazon EMR en ejecución
Puede añadir y eliminar instancias de los grupos de instancias principales y de tareas y de las flotas de instancias de un clúster en ejecución con la AWS CLI API AWS Management Console, o Amazon EMR. Si un clúster utiliza grupos de instancias, es necesario cambiar de forma explícita el recuento de instancias. Si el clúster utiliza flotas de instancias, puede cambiar las unidades de destino en las instancias bajo demanda y las instancias de spot. A continuación, la flota de instancias añadirá y eliminará instancias para satisfacer los requisitos del nuevo destino. Para obtener más información, consulte Opciones de flota de instancias. Las aplicaciones pueden usar EC2 instancias de Amazon recién aprovisionadas para alojar nodos en cuanto las instancias estén disponibles. Cuando se eliminan instancias, Amazon EMR finaliza las tareas de forma que no se interrumpan los trabajos y se protejan frente a la pérdida de datos. Para obtener más información, consulte Terminación al completar las tareas.
Cambiar el tamaño de un clúster con la consola
Puede utilizar la consola de Amazon EMR para cambiar el tamaño de un clúster en ejecución.
Cuando se realiza un cambio en el número de nodos, se actualiza el Status (Estado) de las actualizaciones del grupo de instancias. Cuando finaliza el cambio solicitado, el Status (Estado) es Running (En ejecución).
Cambie el tamaño de un clúster con la AWS CLI
Puede utilizar el AWS CLI para cambiar el tamaño de un clúster en ejecución. Puede aumentar o reducir el número de nodos de tareas y puede aumentar el número de nodos secundarios en un clúster en ejecución. También es posible cerrar una instancia del grupo de instancias principal con la API AWS CLI o la misma. Esto debe hacerse con precaución. Apagar una instancia en el grupo de instancias secundarias conlleva un riesgo de pérdida de datos y la instancia no se sustituye automáticamente.
Además de cambiar el tamaño de los grupos se instancias secundarias y de tareas, también puede agregar uno o varios grupos de instancias de tareas a un clúster en ejecución con la AWS CLI.
Para cambiar el tamaño de un clúster cambiando el recuento de instancias con la AWS CLI
Puede añadir instancias al grupo principal o al grupo de tareas y eliminar instancias del grupo de tareas con el AWS CLI modify-instance-groups
subcomando del InstanceCount
parámetro. Para agregar instancias a los grupos de instancias principales o de tareas, aumente el InstanceCount
. Para reducir el número de instancias en el grupo de tareas, reduzca el InstanceCount
. Al cambiar el recuento de instancias del grupo de tareas a 0 se eliminan todas las instancias, pero no el grupo de instancias.
-
Para aumentar el número de instancias en el grupo de instancias de tareas de 3 a 4, escribe el siguiente comando y
ig-31JXXXXXXBTO
sustitúyelo por el ID del grupo de instancias.aws emr modify-instance-groups --instance-groups InstanceGroupId=
ig-31JXXXXXXBTO
,InstanceCount=4
Para recuperar el
InstanceGroupId
, utilice el subcomandodescribe-cluster
. La salida es un objeto JSON denominadoCluster
que contiene el ID de cada grupo de instancias. Para utilizar este comando, necesita el ID del clúster (que puede recuperar con el comandoaws emr list-clusters
o la consola). Para recuperar el ID del grupo de instancias, escribe el siguiente comando yj-2AXXXXXXGAPLF
sustitúyelo por el ID del clúster.aws emr describe-cluster --cluster-id
j-2AXXXXXXGAPLF
Con el AWS CLI, también puedes terminar una instancia del grupo de instancias principal con el
--modify-instance-groups
subcomando.aviso
Debe prestarse especial atención cuando se especifique
EC2InstanceIdsToTerminate
. Las instancias se terminan de forma inmediata, independientemente del estado de las aplicaciones que se ejecutan en ellas y de que la instancia no se sustituya automáticamente. Esto ocurre independientemente de la configuración de Scale down behavior (Comportamiento de escalado descendente) del clúster. Terminar una instancia de esta forma conlleva el riesgo de pérdida de datos y de un comportamiento del clúster imprevisible.Para terminar una instancia específica, necesitas el ID del grupo de instancias (devuelto por el
aws emr describe-cluster --cluster-id
subcomando) y el ID de la instancia (devuelto por elaws emr list-instances --cluster-id
subcomando). Escribe el siguiente comando, sustitúyelo por el ID del grupo de instancias yig-6RXXXXXX07SA
sustitúyelo por el ID de la instancia.i-f9XXXXf2
aws emr modify-instance-groups --instance-groups InstanceGroupId=
ig-6RXXXXXX07SA
,EC2InstanceIdsToTerminate=i-f9XXXXf2
Para obtener más información sobre el uso de los comandos de Amazon EMR en AWS CLI, consulte. https://docs.aws.amazon.com/cli/latest/reference/emr
Para cambiar el tamaño de un clúster añadiendo grupos de instancias de tareas con la AWS CLI
Con el AWS CLI, puedes añadir de 1 a 48 grupos de instancias de tareas a un clúster con el --add-instance-groups
subcomando. Los grupos de instancias de tareas solo se pueden agregar a un clúster que contenga un grupo de instancias principales y un grupo de instancias de núcleo. Al utilizar el subcomando AWS CLI, puede añadir hasta cinco grupos de instancias de tareas cada vez que utilice el --add-instance-groups
subcomando.
-
Para añadir un único grupo de instancias de tareas a un clúster, escribe el siguiente comando y
j-JXBXXXXXX37R
sustitúyelo por el ID del clúster.aws emr add-instance-groups --cluster-id
j-JXBXXXXXX37R
--instance-groups InstanceCount=6
,InstanceGroupType=task
,InstanceType=m5.xlarge
-
Para añadir varios grupos de instancias de tareas a un clúster, escribe el siguiente comando y
j-JXBXXXXXX37R
sustitúyelo por el ID del clúster. Puede añadir hasta cinco grupos de instancias de tareas en un solo comando.aws emr add-instance-groups --cluster-id
j-JXBXXXXXX37R
--instance-groups InstanceCount=6
,InstanceGroupType=task
,InstanceType=m5.xlarge
InstanceCount=10
,InstanceGroupType=task
,InstanceType=m5.xlarge
Para obtener más información sobre el uso de los comandos de Amazon EMR en AWS CLI, consulte. https://docs.aws.amazon.com/cli/latest/reference/emr
Interrupción de un cambio de tamaño
Si utiliza la versión 4.1.0 o posterior de Amazon EMR, puede realizar un cambio de tamaño en medio de una operación de cambio de tamaño existente. Además, puede parar una solicitud de cambio de tamaño enviada previamente o enviar una nueva solicitud para anular una solicitud anterior sin necesidad de esperar a que finalice. También puede detener un cambio de tamaño existente desde la consola o a través de la llamada a la API ModifyInstanceGroups
con el recuento actual como el recuento de destino del clúster.
La siguiente captura de pantalla muestra un grupo de instancias de tareas que se está cambiando de tamaño, pero que puede interrumpirse eligiendo Stop (Detener).

Para interrumpir un cambio de tamaño con el AWS CLI
Puede utilizar el AWS CLI para detener un cambio de tamaño con el modify-instance-groups
subcomando. Supongamos que tiene seis instancias en un grupo de instancias y que desea aumentarlo a 10. Más tarde decide que desea cancelar esta solicitud:
-
La solicitud inicial:
aws emr modify-instance-groups --instance-groups InstanceGroupId=ig-
myInstanceGroupId
,InstanceCount=10La segunda solicitud para detener la primera solicitud:
aws emr modify-instance-groups --instance-groups InstanceGroupId=ig-
myInstanceGroupId
,InstanceCount=6
nota
Dado que este proceso es asíncrono, es posible que vea que los recuentos de instancias cambian con respecto las solicitudes de la API previas antes de que se realicen las solicitudes siguientes. En el caso de disminución, es posible que si tiene el trabajo en ejecución en los nodos, el grupo de instancias podría no reducirse hasta que los nodos hayan completado su trabajo.
Estado de suspensión
Un grupo de instancias pasa a estado suspendido si se encuentra demasiados errores al intentar iniciar los nuevos nodos del clúster. Por ejemplo, si los nodos nuevos devuelven error repetidamente al llevar a cabo acciones de arranque, el grupo de instancias pasa al estado SUSPENDED, en lugar de aprovisionar de forma continua nuevos nodos. Después de haber resuelto el error subyacente, restablezca el número deseado de nodos en el grupo de instancias del clúster y, a continuación, el grupo de instancias reanuda la asignación de nodos. La modificación de una instancia grupo indica a Amazon EMR que vuelva a intentar aprovisionar los nodos. Ningún nodo en ejecución se reinicia ni se termina.
En el AWS CLI, el list-instances
subcomando devuelve todas las instancias y sus estados, al igual que el subcomando. describe-cluster
Si Amazon EMR detecta un error con un grupo de instancias, cambia el estado del grupo a SUSPENDED
.
Para restablecer un clúster en estado SUSPENDIDO con el AWS CLI
Escriba el subcomando describe-cluster
con el parámetro --cluster-id
para ver el estado de las instancias en el clúster.
-
Para ver la información sobre todas las instancias y grupos de instancias de un clúster, escribe el siguiente comando y
j-3KVXXXXXXY7UG
sustitúyelo por el ID del clúster.aws emr describe-cluster --cluster-id
j-3KVXXXXXXY7UG
La salida muestra información sobre los grupos de la instancia y el estado de las instancias:
{ "Cluster": { "Status": { "Timeline": { "ReadyDateTime": 1413187781.245, "CreationDateTime": 1413187405.356 }, "State": "WAITING", "StateChangeReason": { "Message": "Waiting after step completed" } }, "Ec2InstanceAttributes": { "Ec2AvailabilityZone": "us-west-2b" }, "Name": "Development Cluster", "Tags": [], "TerminationProtected": false, "RunningAmiVersion": "3.2.1", "NormalizedInstanceHours": 16, "InstanceGroups": [ { "RequestedInstanceCount": 1, "Status": { "Timeline": { "ReadyDateTime": 1413187775.749, "CreationDateTime": 1413187405.357 }, "State": "RUNNING", "StateChangeReason": { "Message": "" } }, "Name": "MASTER", "InstanceGroupType": "MASTER", "InstanceType": "m5.xlarge", "Id": "ig-3ETXXXXXXFYV8", "Market": "ON_DEMAND", "RunningInstanceCount": 1 }, { "RequestedInstanceCount": 1, "Status": { "Timeline": { "ReadyDateTime": 1413187781.301, "CreationDateTime": 1413187405.357 }, "State": "RUNNING", "StateChangeReason": { "Message": "" } }, "Name": "CORE", "InstanceGroupType": "CORE", "InstanceType": "m5.xlarge", "Id": "ig-3SUXXXXXXQ9ZM", "Market": "ON_DEMAND", "RunningInstanceCount": 1 } ... }
Para ver información sobre un grupo de instancias determinado, escriba el subcomando
list-instances
con los parámetros--cluster-id
e--instance-group-types
. Puede consultar información para los grupos principales, de núcleo o de tarea.aws emr list-instances --cluster-id
j-3KVXXXXXXY7UG
--instance-group-types"CORE"
Utilice el subcomando
modify-instance-groups
con el parámetro--instance-groups
para restablecer un clúster en el estadoSUSPENDED
. El subcomandodescribe-cluster
devuelve el id del grupo de instancias.aws emr modify-instance-groups --instance-groups InstanceGroupId=
ig-3SUXXXXXXQ9ZM
,InstanceCount=3
Consideraciones a la hora de reducir el tamaño del clúster
Si decide reducir el tamaño de un clúster en ejecución, tenga en cuenta el comportamiento y las prácticas recomendadas de Amazon EMR siguientes:
-
Para reducir el impacto en los trabajos en curso, Amazon EMR selecciona de forma inteligente las instancias que se van a eliminar. Para más información sobre el comportamiento de reducción vertical del clúster, consulte Terminación al completar las tareas en la Guía de administración de Amazon EMR.
-
Al reducir verticalmente el tamaño de un clúster, Amazon EMR copia los datos de las instancias que elimina a las instancias restantes. Asegúrese de que haya suficiente capacidad de almacenamiento para estos datos en las instancias que permanecen en el grupo.
-
Amazon EMR intenta retirar HDFS en las instancias del grupo. Antes de reducir el tamaño de un clúster, le recomendamos que minimice las E/S de escritura en HDFS.
-
Para tener un control más detallado a la hora de reducir el tamaño de un clúster, puede ver el clúster en la consola y acceder a la pestaña Instancias. Seleccione el ID del grupo de instancias cuyo tamaño desee cambiar. A continuación, use la opción Terminar para las instancias específicas que desee eliminar.