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
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
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" } } ] } ]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.
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" } } ] } ] }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.
Navegue hasta el siguiente directorio, que contiene los archivos de registro de aprovisionamiento del nodo.
/mnt/var/log/provision-node/
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
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: