Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Reconfiguración de las flotas de instancias para su clúster de Amazon EMR

Modo de enfoque
Reconfiguración de las flotas de instancias para su clúster de Amazon EMR - Amazon EMR

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.

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.

Con Amazon EMR versión 5.21.0 y versiones posteriores, puede reconfigurar las aplicaciones de clúster y especificar clasificaciones de configuración adicionales para cada flota de instancias de un clúster en ejecución. Para ello, puede utilizar la interfaz de línea de AWS comandos (AWS CLI) o el SDK. AWS

Puede realizar un seguimiento del estado de una flota de instancias mediante la visualización de los CloudWatch eventos. Para obtener más información, consulte Eventos de reconfiguración de la flota de instancias.

nota

Solo puede anular el objeto de configuraciones del clúster especificado durante la creación del clúster. Para obtener más información sobre los objetos de configuración, consulte la sintaxis de la RunJobFlow solicitud. Si hay diferencias entre la configuración existente y el archivo que suministra, Amazon EMR restablece las configuraciones modificadas manualmente, como las que ha modificado mientras estaba conectado al clúster mediante SSH, a los valores predeterminados del clúster para la flota de instancias especificada.

Cuando envía una solicitud de reconfiguración mediante la consola de Amazon EMR, AWS la interfaz de línea de comandos AWS CLI() o el SDK, Amazon EMR comprueba AWS el archivo de configuración existente en el clúster. Si hay diferencias entre la configuración existente y el archivo que suministra, Amazon EMR inicia acciones de reconfiguración, reinicia algunas aplicaciones y restablece cualquier configuración modificada manualmente, como las que haya modificado mientras estaba conectado al clúster mediante SSH, a los valores predeterminados del clúster para la flota de instancias especificada.

Comportamientos de reconfiguración

La reconfiguración sobrescribe la configuración del clúster con el conjunto de configuraciones recién enviado y puede sobrescribir los cambios de configuración realizados fuera de la API de reconfiguración.

Amazon EMR sigue un proceso continuo para reconfigurar las instancias de la flota de instancias principales y de tareas. Solo un porcentaje de las instancias de un único tipo de instancia se modifica y reinicia a la vez. Si su flota de instancias tiene varias configuraciones de tipos de instancias diferentes, se reconfigurarán en paralelo.

Las reconfiguraciones se declaran en el InstanceTypeConfignivel. Para ver un ejemplo visual, consulte. Reconfigure una flota de instancias Puede enviar solicitudes de reconfiguración que contengan ajustes de configuración actualizados para uno o más tipos de instancias en una sola solicitud. Debe incluir todos los tipos de instancias que forman parte de su flota de instancias en la solicitud de modificación; sin embargo, los tipos de instancia con campos de configuración rellenados se reconfigurarán, mientras que las demás InstanceTypeConfig instancias de la flota permanecerán sin cambios. Una reconfiguración se considera correcta solo cuando todas las instancias de los tipos de instancias especificados completan la reconfiguración. Si alguna instancia no se reconfigura, toda la flota de instancias vuelve automáticamente a su última configuración estable conocida.

Limitaciones

Al reconfigurar una flota de instancias en un clúster en ejecución, tenga en cuenta las siguientes limitaciones:

  • Las aplicaciones que no son de YARN pueden fallar durante el reinicio o provocar problemas con el clúster, especialmente si no están configuradas correctamente. Los clústeres que se acerquen al uso máximo de memoria y CPU pueden tener problemas tras el proceso de reinicio. Esto es especialmente cierto en el caso de la flota de instancias principal. Consulte la Solucione los problemas de reconfiguración de la flota de instancias sección.

  • Las operaciones de redimensionamiento y reconfiguración no se realizan en paralelo. Las solicitudes de reconfiguración esperarán a que se produzca un cambio de tamaño continuo y viceversa.

  • Las operaciones de redimensionamiento y reconfiguración no se realizan en paralelo. Las solicitudes de reconfiguración esperarán a que se produzca un cambio de tamaño continuo y viceversa.

  • Tras volver a configurar una flota de instancias, Amazon EMR reinicia las aplicaciones para permitir que las nuevas configuraciones surtan efecto. Puede darse un error de trabajo u otro comportamiento de la aplicación inesperado si las aplicaciones están en uso durante la reconfiguración.

  • Si se produce un error en la reconfiguración de cualquier tipo de instancia de una flota de instancias, Amazon EMR revierte los parámetros de configuración a la versión de trabajo anterior para toda la flota de instancias, además de emitir eventos y actualizar los detalles de estado. Si el proceso de reversión también falla, debes enviar una nueva ModifyInstanceFleet solicitud para recuperar la flota de instancias del estado. ARRESTED Los errores de reversión provocan eventos de reconfiguración de la flota de instancias y un cambio de estado.

  • Las solicitudes de reconfiguración para cualquier Phoenix clasificaciones de configuración solo se admiten en la versión 5.23.0 y versiones posteriores de Amazon EMR, y no son compatibles con la versión 5.21.0 o 5.22.0 de Amazon EMR.

  • Las solicitudes de reconfiguración para las clasificaciones de HBase configuración solo se admiten en la versión 5.30.0 y posteriores de Amazon EMR, y no se admiten en las versiones 5.23.0 a 5.29.0 de Amazon EMR.

  • La reconfiguración de la clasificación hdfs-encryption-zones o cualquiera de las clasificaciones de configuración de Hadoop KMS no se admite en clúster de Amazon EMR con varios nodos principales.

  • Amazon EMR actualmente no admite determinadas solicitudes de reconfiguración para el programador de capacidad de YARN que requieren reiniciar el YARN. ResourceManager Por ejemplo, no puede eliminar por completo una cola.

  • Cuando YARN necesita reiniciarse, todos los trabajos de YARN en ejecución normalmente finalizan y se pierden. Esto puede provocar retrasos en el procesamiento de datos. Para ejecutar trabajos de YARN durante un reinicio de YARN, puedes crear un clúster de Amazon EMR con varios nodos principales o establecer yarn.resourcemanager.recovery.enabled en tu clasificación de configuración de yarn-site. true Para obtener más información sobre el uso de varios nodos maestros, consulte YARN de alta disponibilidad. ResourceManager

Reconfigure una flota de instancias

Using the AWS CLI

Usa el modify-instance-fleet comando para especificar una nueva configuración para una flota de instancias en un clúster en ejecución.

nota

En los siguientes ejemplos, reemplaza j-2 AL4 XXXXXX5 T9 por tu ID de clúster y reemplaza if-1xxxxxxx9 por tu ID de flota de instancias.

Ejemplo: reemplazar una configuración de una flota de instancias

aviso

Especifica todos InstanceTypeConfig los campos que usaste en el lanzamiento. Si no se incluyen los campos, es posible que se sobrescriban las especificaciones que declaraste en el lanzamiento. Consulte InstanceTypeConfigpara obtener una lista.

En el siguiente ejemplo, se hace referencia a un archivo JSON de configuración denominado InstanceFleet.json para editar la propiedad del comprobador de estado del NodeManager disco YARN para una flota de instancias.

Modificación de flota de instancias (JSON

  1. Prepare la clasificación de la configuración y guárdela como InstanceFleet.json en el mismo directorio en el que ejecutará el comando.

    { "InstanceFleetId":"if-1xxxxxxx9", "InstanceTypeConfigs": [ { "InstanceType": "m5.xlarge", other InstanceTypeConfig fields "Configurations": [ { "Classification": "yarn-site", "Properties": { "yarn.nodemanager.disk-health-checker.enable":"true", "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage":"100.0" } } ] }, { "InstanceType": "r5.xlarge", other InstanceTypeConfig fields "Configurations": [ { "Classification": "yarn-site", "Properties": { "yarn.nodemanager.disk-health-checker.enable":"false", "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage":"70.0" } } ] } ]
  2. Ejecute el siguiente comando de la .

    aws emr modify-instance-fleet \ --cluster-id j-2AL4XXXXXX5T9 \ --region us-west-2 \ --instance-fleet instanceFleet.json

Ejemplo: añadir una configuración a una flota de instancias

Si quieres añadir una configuración a un tipo de instancia, debes incluir todas las configuraciones previamente especificadas para ese tipo de instancia en la nueva ModifyInstanceFleet solicitud. De lo contrario, las configuraciones antes especificadas se eliminan.

En el siguiente ejemplo, se agrega una propiedad para el comprobador de memoria NodeManager virtual YARN. La configuración también incluye valores previamente especificados para el comprobador de estado del NodeManager disco YARN, de modo que los valores no se sobrescriban.

  1. Prepara el siguiente contenido en InstanceFleet.json y guárdalo en el mismo directorio en el que ejecutarás el comando.

    { "InstanceFleetId":"if-1xxxxxxx9", "InstanceTypeConfigs": [ { "InstanceType": "m5.xlarge", other InstanceTypeConfig fields "Configurations": [ { "Classification": "yarn-site", "Properties": { "yarn.nodemanager.disk-health-checker.enable":"true", "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage":"100.0", "yarn.nodemanager.vmem-check-enabled":"true", "yarn.nodemanager.vmem-pmem-ratio":"3.0" } } ] }, { "InstanceType": "r5.xlarge", other InstanceTypeConfig fields "Configurations": [ { "Classification": "yarn-site", "Properties": { "yarn.nodemanager.disk-health-checker.enable":"false", "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage":"70.0" } } ] } ] }
  2. Ejecute el siguiente comando de la .

    aws emr modify-instance-fleet \ --cluster-id j-2AL4XXXXXX5T9 \ --region us-west-2 \ --instance-fleet instanceFleet.json
using the Java SDK
nota

En los siguientes ejemplos, reemplaza j-2 AL4 XXXXXX5 T9 por tu ID de clúster y reemplaza if-1xxxxxxx9 por tu ID de flota de instancias.

El siguiente fragmento de código proporciona una nueva configuración para una flota de instancias mediante el AWS SDK for Java.

AWSCredentials credentials = new BasicAWSCredentials("access-key", "secret-key"); AmazonElasticMapReduce emr = new AmazonElasticMapReduceClient(credentials); Map<String,String> hiveProperties = new HashMap<String,String>(); hiveProperties.put("hive.join.emit.interval","1000"); hiveProperties.put("hive.merge.mapfiles","true"); Configuration newConfiguration = new Configuration() .withClassification("hive-site") .withProperties(hiveProperties); List<InstanceTypeConfig> instanceTypeConfigList = new ArrayList<>(); for (InstanceTypeConfig instanceTypeConfig : currentInstanceTypeConfigList) { instanceTypeConfigList.add(new InstanceTypeConfig() .withInstanceType(instanceTypeConfig.getInstanceType()) .withBidPrice(instanceTypeConfig.getBidPrice()) .withWeightedCapacity(instanceTypeConfig.getWeightedCapacity()) .withConfigurations(newConfiguration) ); } InstanceFleetModifyConfig instanceFleetModifyConfig = new InstanceFleetModifyConfig() .withInstanceFleetId("if-1xxxxxxx9") .withInstanceTypeConfigs(instanceTypeConfigList); ModifyInstanceFleetRequest modifyInstanceFleetRequest = new ModifyInstanceFleetRequest() .withInstanceFleet(instanceFleetModifyConfig) .withClusterId("j-2AL4XXXXXX5T9"); emrClient.modifyInstanceFleet(modifyInstanceFleetRequest);

Usa el modify-instance-fleet comando para especificar una nueva configuración para una flota de instancias en un clúster en ejecución.

nota

En los siguientes ejemplos, reemplaza j-2 AL4 XXXXXX5 T9 por tu ID de clúster y reemplaza if-1xxxxxxx9 por tu ID de flota de instancias.

Ejemplo: reemplazar una configuración de una flota de instancias

aviso

Especifica todos InstanceTypeConfig los campos que usaste en el lanzamiento. Si no se incluyen los campos, es posible que se sobrescriban las especificaciones que declaraste en el lanzamiento. Consulte InstanceTypeConfigpara obtener una lista.

En el siguiente ejemplo, se hace referencia a un archivo JSON de configuración denominado InstanceFleet.json para editar la propiedad del comprobador de estado del NodeManager disco YARN para una flota de instancias.

Modificación de flota de instancias (JSON

  1. Prepare la clasificación de la configuración y guárdela como InstanceFleet.json en el mismo directorio en el que ejecutará el comando.

    { "InstanceFleetId":"if-1xxxxxxx9", "InstanceTypeConfigs": [ { "InstanceType": "m5.xlarge", other InstanceTypeConfig fields "Configurations": [ { "Classification": "yarn-site", "Properties": { "yarn.nodemanager.disk-health-checker.enable":"true", "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage":"100.0" } } ] }, { "InstanceType": "r5.xlarge", other InstanceTypeConfig fields "Configurations": [ { "Classification": "yarn-site", "Properties": { "yarn.nodemanager.disk-health-checker.enable":"false", "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage":"70.0" } } ] } ]
  2. Ejecute el siguiente comando de la .

    aws emr modify-instance-fleet \ --cluster-id j-2AL4XXXXXX5T9 \ --region us-west-2 \ --instance-fleet instanceFleet.json

Ejemplo: añadir una configuración a una flota de instancias

Si quieres añadir una configuración a un tipo de instancia, debes incluir todas las configuraciones previamente especificadas para ese tipo de instancia en la nueva ModifyInstanceFleet solicitud. De lo contrario, las configuraciones antes especificadas se eliminan.

En el siguiente ejemplo, se agrega una propiedad para el comprobador de memoria NodeManager virtual YARN. La configuración también incluye valores previamente especificados para el comprobador de estado del NodeManager disco YARN, de modo que los valores no se sobrescriban.

  1. Prepara el siguiente contenido en InstanceFleet.json y guárdalo en el mismo directorio en el que ejecutarás el comando.

    { "InstanceFleetId":"if-1xxxxxxx9", "InstanceTypeConfigs": [ { "InstanceType": "m5.xlarge", other InstanceTypeConfig fields "Configurations": [ { "Classification": "yarn-site", "Properties": { "yarn.nodemanager.disk-health-checker.enable":"true", "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage":"100.0", "yarn.nodemanager.vmem-check-enabled":"true", "yarn.nodemanager.vmem-pmem-ratio":"3.0" } } ] }, { "InstanceType": "r5.xlarge", other InstanceTypeConfig fields "Configurations": [ { "Classification": "yarn-site", "Properties": { "yarn.nodemanager.disk-health-checker.enable":"false", "yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage":"70.0" } } ] } ] }
  2. Ejecute el siguiente comando de la .

    aws emr modify-instance-fleet \ --cluster-id j-2AL4XXXXXX5T9 \ --region us-west-2 \ --instance-fleet instanceFleet.json

Solucione los problemas de reconfiguración de la flota de instancias

Si se produce un error en el proceso de reconfiguración de cualquier tipo de instancia de una flota de instancias, Amazon EMR revierte la reconfiguración en curso y registra un mensaje de error mediante un evento de eventos. AAmazon CloudWatch El evento proporciona un breve resumen del error de reconfiguración. Enumera las instancias en las que la reconfiguración ha fallado y los mensajes de error correspondientes. A continuación se muestra el ejemplo de un mensaje de error.

Amazon EMR couldn't revert the instance fleet if-1xxxxxxx9 in the Amazon EMR cluster j-2AL4XXXXXX5T9 (ExampleClusterName) to the previously successful configuration at 2021-01-01 00:00 UTC. The reconfiguration reversion failed because of Instance i-xxxxxxx1, i-xxxxxxx2, i-xxxxxxx3 failed with message "This is an example failure message"...

Para acceder a los registros de aprovisionamiento de nodos

Use SSH para conectarse al nodo en el que no se pudo realizar la reconfiguración. Para obtener instrucciones, consulte Connect to your Linux instance in Amazon Elastic Compute Cloud.

Accessing logs by connecting to a node
  1. Navegue hasta el siguiente directorio, que contiene los archivos de registro de aprovisionamiento del nodo.

    /mnt/var/log/provision-node/
  2. Abre el subdirectorio de informes y busca el informe de aprovisionamiento de nodos para la reconfiguración. El directorio de informes organiza los registros por número de versión de reconfiguración, identificador único universal (UUID), dirección IP de la EC2 instancia de Amazon y marca de tiempo. Cada informe es un archivo YAML comprimido que contiene información detallada sobre el proceso de reconfiguración. A continuación, se muestra un ejemplo del nombre y la ruta de un archivo de informe.

    /reports/2/ca598xxx-cxxx-4xxx-bxxx-6dbxxxxxxxxx/ip-10-73-xxx-xxx.ec2.internal/202104061715.yaml.gz
  3. Puede examinar un informe con un visor de archivos como zless, como en el siguiente ejemplo.

    zless 202104061715.yaml.gz
Accessing logs using Amazon S3

Inicie sesión en la consola de Amazon S3 AWS Management Console y ábrala en https://console.aws.amazon.com/s3/. Abra el bucket de Amazon S3 que ha especificado al configurar el clúster para archivar los archivos de registro.

  1. Navegue hasta la siguiente carpeta, que contiene los archivos de registro de aprovisionamiento del nodo:

    amzn-s3-demo-bucket/elasticmapreduce/cluster id/node/instance id/provision-node/
  2. Abra la carpeta de informes y busque el informe de aprovisionamiento de nodos para la reconfiguración. La carpeta de informes organiza los registros por número de versión de reconfiguración, identificador único universal (UUID), dirección IP de la EC2 instancia de Amazon y marca de tiempo. Cada informe es un archivo YAML comprimido que contiene información detallada sobre el proceso de reconfiguración. A continuación, se muestra un ejemplo del nombre y la ruta de un archivo de informe.

    /reports/2/ca598xxx-cxxx-4xxx-bxxx-6dbxxxxxxxxx/ip-10-73-xxx-xxx.ec2.internal/202104061715.yaml.gz

Para ver un archivo de registro, puede descargarlo de Amazon S3 en su máquina local como un archivo de texto. Para obtener instrucciones, consulte Descarga de un objeto.

  1. Navegue hasta el siguiente directorio, que contiene los archivos de registro de aprovisionamiento del nodo.

    /mnt/var/log/provision-node/
  2. Abre el subdirectorio de informes y busca el informe de aprovisionamiento de nodos para la reconfiguración. El directorio de informes organiza los registros por número de versión de reconfiguración, identificador único universal (UUID), dirección IP de la EC2 instancia de Amazon y marca de tiempo. Cada informe es un archivo YAML comprimido que contiene información detallada sobre el proceso de reconfiguración. A continuación, se muestra un ejemplo del nombre y la ruta de un archivo de informe.

    /reports/2/ca598xxx-cxxx-4xxx-bxxx-6dbxxxxxxxxx/ip-10-73-xxx-xxx.ec2.internal/202104061715.yaml.gz
  3. Puede examinar un informe con un visor de archivos como zless, como en el siguiente ejemplo.

    zless 202104061715.yaml.gz

Cada archivo de registro contiene un informe de aprovisionamiento detallado para la reconfiguración asociada. Para encontrar información sobre los mensajes de error, puede buscar el nivel de registro err de un informe. El formato del informe depende de la versión de Amazon EMR del clúster. El siguiente ejemplo muestra información de error para las versiones 5.32.0 y 6.2.0 de Amazon EMR y las versiones posteriores utilizan el siguiente formato:

- level: err message: 'Example detailed error message.' source: Puppet tags: - err time: '2021-01-01 00:00:00.000000 +00:00' file: line:
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.