Ver interfaces de usuario de aplicaciones persistentes - 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.

Ver interfaces de usuario de aplicaciones persistentes

A partir de la versión 5.25.0 de Amazon EMR, puede conectarse a los detalles persistentes de la aplicación del servidor del historial de Spark alojados fuera del clúster mediante la página Resumen del clúster o la pestaña Interfaces de usuario de aplicaciones de la consola. Las interfaces de aplicación persistentes de Tez UI y YARN Timeline están disponibles a partir de la versión 5.30.1 de Amazon EMR. El acceso de enlace con un solo clic al historial de aplicaciones persistentes ofrece las siguientes ventajas:

  • Puede analizar y solucionar rápidamente los trabajos activos y el historial de trabajos sin configurar un proxy web a través de una conexión SSH.

  • Puede acceder al historial de aplicaciones y a los archivos de registro pertinentes para los clústeres activos y terminados. Los registros están disponibles durante 30 días desde que finalice la aplicación.

Navegue hasta los detalles del clúster en la consola y seleccione la pestaña Aplicaciones. Seleccione la interfaz de usuario de la aplicación que desee una vez que se haya lanzado el clúster. La interfaz de usuario de la aplicación se abre en una nueva pestaña del navegador. Para obtener más información, consulte Monitoring and Instrumentation.

Puede ver los registros de contenedores de YARN a través de los enlace en Spark History Server, el servidor de YARN Timeline y Tez UI.

nota

Para obtener acceso a los registros de contenedor de YARN desde el servidor del historial de Spark, el servidor de YARN Timeline y Tez UI, debe habilitar el registro en Amazon S3 para su clúster. Si el registro no está habilitado, los enlaces a los registros de contenedor de YARN no funcionarán.

Recopilación de registros

Para habilitar el acceso con un solo clic a las interfaces de usuario de aplicaciones persistentes, Amazon EMR recopila dos tipos de registros:

  • Los registros de eventos de aplicación se recopilan en un bucket del sistema EMR. Los registros de eventos se cifran en reposo mediante el cifrado del lado del servidor con claves administradas de Amazon S3 (SSE-S3). Si utiliza una subred privada para el clúster, asegúrese de incluir “arn:aws:s3:::prod.MyRegion.appinfo.src/*” en la lista de recursos de la política de Amazon S3 para la subred privada. Para obtener más información, consulte Política de Amazon S3 mínima para subred privada.

  • Los registros de contenedores de YARN se recopilan en un bucket de Amazon S3 propiedad de usted. Debe habilitar el registro para que su clúster acceda a los registros de contenedores de YARN. Para más información, consulte Configurar el registro y la depuración de un clúster.

Si necesita deshabilitar esta característica por motivos de privacidad, puede detener el daemon mediante un script de arranque al crear un clúster, como se muestra en el siguiente ejemplo.

aws emr create-cluster --name "Stop Application UI Support" --release-label emr-7.1.0 \ --applications Name=Hadoop Name=Spark --ec2-attributes KeyName=<myEMRKeyPairName> \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m3.xlarge InstanceGroupType=CORE,InstanceCount=1,InstanceType=m3.xlarge InstanceGroupType=TASK,InstanceCount=1,InstanceType=m3.xlarge \ --use-default-roles --bootstrap-actions Path=s3://region.elasticmapreduce/bootstrap-actions/run-if,Args=["instance.isMaster=true","echo Stop Application UI | sudo tee /etc/apppusher/run-apppusher; sudo systemctl stop apppusher || exit 0"]

Después de ejecutar este script de arranque, Amazon EMR no recopilará ningún registro de eventos del servidor del historial de Spark ni del servidor de YARN Timeline en el bucket del sistema de EMR. No habrá información del historial de aplicaciones disponible en la pestaña Interfaces de usuario de aplicaciones y perderá el acceso a todas las interfaces de usuario de la aplicación desde la consola.

Archivos de registro de eventos de Spark de gran tamaño

En algunos casos, los trabajos de Spark de larga duración, como las transmisiones de Spark, y los trabajos de gran tamaño, como las consultas SQL de Spark, pueden generar registros de eventos de gran tamaño. Con los registros de eventos de gran tamaño, puede ocupar rápidamente el espacio en disco de las instancias de computación y encontrar errores OutOfMemory al cargar las interfaces de usuario persistentes. Para evitar estos problemas, recomendamos que active la característica de acumulación y compactación de registros de eventos de Spark. Esta característica solo está disponible en las versiones emr-6.1.0 y posteriores de Amazon EMR. Para obtener más información sobre la acumulación y la compactación, consulte Applying compaction on rolling event log files en la documentación de Spark.

Para activar la característica de acumulación y compactación de registros de eventos de Spark, active los siguientes ajustes en la configuración de Spark.

  • spark.eventLog.rolling.enabled: activa la acumulación de registros de eventos en función del tamaño. Este ajuste está desactivado de forma predeterminada.

  • spark.eventLog.rolling.maxFileSize: cuando se activa la acumulación, especifica el tamaño máximo del archivo de registros de eventos antes de que se acumule. El valor predeterminado es 128 MB.

  • spark.history.fs.eventLog.rolling.maxFilesToRetain: especifica el número máximo de archivos de registros de eventos no compactados que se deben retener. De forma predeterminada, se retienen todos los archivos de registros de eventos. Configúrelo en un número inferior para compactar los registros de eventos más antiguos. El valor más bajo es 1.

Tenga en cuenta que la compactación intenta excluir los eventos con archivos de registros de eventos desactualizados, como los siguientes. Si descarta los eventos, dejará de verlos en la interfaz de usuario del servidor del historial de Spark.

  • Eventos para trabajos terminados y eventos relacionados de etapas o tareas.

  • Eventos para ejecutores terminados.

  • Eventos para consultas SQL completadas y eventos relacionados de trabajos, etapas y tareas.

Para lanzar un clúster con la acumulación y la compactación activadas
  1. Cree un archivo spark-configuration.json con la siguiente configuración.

    [ { "Classification": "spark-defaults", "Properties": { "spark.eventLog.rolling.enabled": true, "spark.history.fs.eventLog.rolling.maxFilesToRetain": 1 } } ]
  2. Cree su clúster con la configuración de compactación de acumulación de Spark de la siguiente manera.

    aws emr create-cluster \ --release-label emr-6.6.0 \ --instance-type m4.large \ --instance-count 2 \ --use-default-roles \ --configurations file://spark-configuration.json

Consideraciones y limitaciones

El acceso con un solo clic a las interfaces de usuario de aplicaciones persistentes actualmente tiene las siguientes limitaciones.

  • Habrá un retraso de al menos dos minutos cuando los detalles de la aplicación aparezcan en la interfaz de usuario del servidor del historial de Spark.

  • Esta característica solo funciona cuando el directorio de registros de eventos de la aplicación está en HDFS. De forma predeterminada, Amazon EMR almacena los registros de eventos en un directorio de HDFS. Si cambia el directorio predeterminado a un sistema de archivos diferente, como Amazon S3, esta característica no funcionará.

  • Esta función no está disponible actualmente para clústeres de EMR con varios nodos maestros ni para clústeres de EMR integrados con AWS Lake Formation.

  • Para habilitar el acceso con un solo clic a las interfaces de usuario de aplicaciones persistentes, debe tener permiso para la acción DescribeCluster de Amazon EMR. Si deniega el permiso de una entidad principal de IAM a esta acción, el cambio de permiso tarda aproximadamente cinco minutos en propagarse.

  • Si vuelve a configurar las aplicaciones en un clúster en ejecución, el historial de aplicaciones no estará disponible a través de la interfaz de usuario de la aplicación.

  • Para cada uno Cuenta de AWS, el límite predeterminado de las interfaces de usuario de las aplicaciones activas es 200.

  • A continuación Regiones de AWS, puede acceder a las interfaces de usuario de las aplicaciones desde la consola con Amazon EMR 6.14.0 y versiones posteriores:

    • Asia-Pacífico (Yakarta) (ap-southeast-3)

    • Europa (España) (eu-south-2)

    • Asia Pacífico (Melbourne) (ap-southeast-4)

    • Israel (Tel Aviv) (il-central-1)

    • Medio Oriente (EAU) (me-central-1)

  • A continuación Regiones de AWS, puede acceder a las interfaces de usuario de las aplicaciones desde la consola con Amazon EMR 5.25.0 y versiones posteriores:

    • Este de EE. UU. (Norte de Virginia) (us-east-1)

    • Oeste de EE. UU. (Oregón) (us-west-2)

    • Asia Pacífico (Bombay) (ap-south-1)

    • Asia-Pacífico (Seúl) (ap-northeast-2)

    • Asia-Pacífico (Singapur) (ap-southeast-1)

    • Asia-Pacífico (Sídney) (ap-southeast-2)

    • Asia-Pacífico (Tokio) (ap-northeast-1)

    • Canadá (centro) (ca-central-1)

    • América del Sur (São Paulo) (sa-east-1)

    • Europa (Fráncfort) (eu-central-1)

    • Europa (Irlanda) (eu-west-1)

    • Europa (Londres) (eu-west-2)

    • UE (París) (eu-west-3)

    • Europa (Estocolmo) (eu-north-1)

    • China (Pekín) (cn-north-1)

    • China (Ningxia) (cn-northwest-1)