Lanzamiento del servidor de historial de Spark - AWS Glue

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.

Lanzamiento del servidor de historial de Spark

Puede lanzar el servidor de historial de Spark mediante una plantilla AWS CloudFormation que aloja el servidor en una instancia EC2 o lanzar localmente mediante Docker.

Lanzamiento del servidor de historial de Spark y visualización de la interfaz de usuario de Spark mediante AWS CloudFormation

Puede utilizar una plantilla de AWS CloudFormation para iniciar el servidor de historial de Apache Spark y ver la interfaz de usuario web de Spark. Estas plantillas son ejemplos que debe modificar para satisfacer sus requisitos.

Para iniciar el servidor de historial de Spark y ver la interfaz de usuario de Spark mediante AWS CloudFormation
  1. Elija uno de los botones Launch Stack (Lanzar pila) de la siguiente tabla. Esto lanza la pila en la consola de AWS CloudFormation.

    Región Lanzamiento de Glue 4.0 Lanzamiento de Glue 3.0 Lanzamiento de Glue 1.0/2.0
    Este de EE. UU. (Ohio)
    EE.UU. Este (Norte de Virginia)
    EE.UU. Oeste (Norte de California)
    EE.UU. Oeste (Oregón)
    África (Ciudad del Cabo)

    Primero debe habilitar el acceso de la consola a la región.

    Asia-Pacífico (Hong Kong)

    Primero debe habilitar el acceso de la consola a la región.

    Asia-Pacífico (Bombay)
    Asia Pacific (Osaka)
    Asia Pacific (Seoul)
    Asia Pacífico (Singapur)
    Asia Pacífico (Sídney)
    Asia Pacífico (Tokio)
    Canada (Central)
    Europe (Frankfurt)
    Europa (Irlanda)
    Europa (Londres)
    Europa (Milán)

    Primero debe habilitar el acceso de la consola a la región.

    Europa (París)
    Europe (Stockholm)
    Medio Oriente (Baréin)

    Primero debe habilitar el acceso de la consola a la región.

    América del Sur (São Paulo)
  2. En la página Specify template elija Next.

  3. En la página Specify stack details (Especificar detalles de pila), escriba el nombre de la pila. Introduzca información adicional en Parameters (Parámetros).

    1. Configuración de la interfaz de usuario de Spark

      Proporcione la siguiente información:

      • IP address range (Rango de direcciones IP): el rango de direcciones IP que se puede utilizar para ver la interfaz de usuario de Spark. Si desea restringir el acceso desde un rango de direcciones IP específico, debe utilizar un valor personalizado.

      • History server port (Puerto de servidor de historial): el puerto para la interfaz de usuario de Spark. Puede utilizar el valor predeterminado.

      • Event log directory (Directorio de registro de eventos): elija la ubicación en la que se almacenan los registros de eventos de Spark desde el trabajo o los puntos de enlace de desarrollo de AWS Glue. Debe utilizar s3a:// para el esquema de ruta de los registros de eventos.

      • Spark package location (Ubicación del paquete de Spark): puede utilizar el valor predeterminado.

      • Keystore path (Ruta del almacén de claves): ruta del almacén de claves SSL/TLS para HTTPS. Si desea utilizar un archivo de almacén de claves personalizado, puede especificar la ruta de S3 s3://path_to_your_keystore_file aquí. Si deja este parámetro vacío, se genera y utiliza un almacén de claves basado en certificados autofirmados.

        nota

        Con un almacén de claves basado en certificados autofirmados, cada equipo local que se conecte a la interfaz de usuario de Spark debe configurarse para confiar en el certificado generado antes de conectarse a la interfaz de usuario de Spark. Además, al vencer el certificado generado, debe generarse un nuevo certificado y debe ser de confianza en todos los equipos locales. Para obtener más información acerca de la configuración, consulte Certificados autofirmados. Para obtener más información, consulte Certificado autofirmado en Wikipedia.

      • Keystore password (Contraseña del almacén de claves): ingrese una contraseña del almacén de claves SSL/TLS para HTTPS.

    2. Configuración de instancias EC2

      Proporcione la siguiente información:

      • Instance type (Tipo de instancia): el tipo de instancia de Amazon EC2 que aloja el servidor de historial de Spark. Dado que esta plantilla lanza una instancia de Amazon EC2 en su cuenta, el costo de Amazon EC2 se cobrará en su cuenta por separado.

      • Latest AMI ID (Último ID de AMI): el ID de AMI de Amazon Linux 2 para la instancia del servidor de historial de Spark. Puede utilizar el valor predeterminado.

      • VPC ID (ID DE VPC): el ID de la nube virtual privada (VPC) para la instancia del servidor de historial de Spark. Puede utilizar cualquiera de las VPC disponibles en su cuenta: no se recomienda utilizar una VPC predeterminada con una ACL de red predeterminada . Para obtener más información, consulte VPC predeterminada y subredes predeterminadas y Creación de una VPC en la Guía del usuario de Amazon VPC.

      • Subnet ID (ID de subred): el ID de la instancia del servidor de historial de Spark. Puede utilizar cualquiera de las subredes de su VPC. Debe poder acceder a la red desde su cliente a la subred. Si desea obtener acceso a a través de Internet, debe utilizar una subred pública que tenga la gateway de internet en la tabla de ruteo.

    3. Elija Siguiente.

  4. En la página Configurar opciones de pila, para utilizar las credenciales de usuario actuales para determinar cómo CloudFormation se pueden crear, modificar o eliminar los recursos de la pila, seleccione Siguiente. También puede especificar un rol en la sección Permissions (Permisos) que utilizará en lugar de los permisos de usuario actuales y, a continuación, elija Next (Siguiente).

  5. En la página Review, examine la plantilla.

    Elija I acknowledge that AWS CloudFormation might create IAM resources (Confirmo que CloudFormation puede crear recursos de IAM) y, a continuación, elija Create stack (Crear pila).

  6. Espere a que se cree la pila.

  7. Haga clic en la pestaña Outputs.

    1. Copia la URL de SparkUiPublicUrlsi estás utilizando una subred pública.

    2. Copia la URL de SparkUiPrivateUrlsi estás utilizando una subred privada.

  8. Abra un navegador web y pegue la URL. Esto le permite obtener acceso al servidor mediante HTTPS en el puerto especificado. Es posible que el navegador no reconozca el certificado del servidor, en cuyo caso tendrá que anular su protección y continuar.

Lanzamiento del servidor de historial de Spark y visualización de la interfaz de usuario de Spark mediante Docker

Si prefiere el acceso local (no tener una instancia EC2 para el servidor de historial de Apache Spark), también puede utilizar Docker para iniciar el servidor de historial de Apache Spark y ver la interfaz de usuario de Spark localmente. Este Dockerfile es un ejemplo que debe modificar para satisfacer sus requisitos.

Requisitos previos

Para obtener información acerca de cómo instalar Docker en su portátil, consulte la comunidad de Docker Engine.

Iniciar el servidor de historial de Spark y ver la interfaz de usuario de Spark localmente mediante Docker
  1. Descarga archivos desde GitHub.

    Descargue Dockerfile y pom.xml de las muestras de código de AWS Glue.

  2. Determine si desea utilizar las credenciales de usuario o credenciales de usuario federado para acceder a AWS.

    • Para utilizar las credenciales de usuario actuales para acceder a AWS, obtenga los valores que se van a utilizar para AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY en el comando docker run. Para obtener más información, consulte Administración de claves de acceso para usuarios de IAM en la Guía del usuario de IAM.

    • Para utilizar usuarios federados SAML 2.0 para acceder a AWS, obtenga los valores de AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY y AWS_SESSION_TOKEN. Para obtener más información, consulte Solicitud de credenciales de seguridad temporales

  3. Determine la ubicación del directorio de registro de eventos que se utilizará en el comando docker run.

  4. Cree la imagen de Docker con los archivos del directorio local y utilice el nombre glue/sparkui y la etiqueta latest.

    $ docker build -t glue/sparkui:latest .
  5. Cree e inicie el contenedor de docker.

    En los siguientes comandos, utilice los valores obtenidos anteriormente en los pasos 2 y 3.

    1. Para crear el contenedor de docker mediante las credenciales de usuario, utilice un comando similar al siguiente

      docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://path_to_eventlog -Dspark.hadoop.fs.s3a.access.key=AWS_ACCESS_KEY_ID -Dspark.hadoop.fs.s3a.secret.key=AWS_SECRET_ACCESS_KEY" -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer"
    2. Para crear el contenedor de docker mediante credenciales temporales, utilice org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider como proveedor, y proporcione los valores de credenciales obtenidos en el paso 2. Para obtener más información, consulte Uso de credenciales de sesión con TemporalAWSCredentialsProvider en la documentación de Hadoop: integración con Amazon Web Services.

      docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://path_to_eventlog -Dspark.hadoop.fs.s3a.access.key=AWS_ACCESS_KEY_ID -Dspark.hadoop.fs.s3a.secret.key=AWS_SECRET_ACCESS_KEY -Dspark.hadoop.fs.s3a.session.token=AWS_SESSION_TOKEN -Dspark.hadoop.fs.s3a.aws.credentials.provider=org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider" -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer"
    nota

    Estos parámetros de configuración proceden del Módulo Hadoop-AWS. Es posible que tenga que agregar configuración específica en función del caso de uso. Por ejemplo, los usuarios de regiones aisladas tendrán que configurar spark.hadoop.fs.s3a.endpoint.

  6. Abra http://localhost:18080 en el navegador para ver la interfaz de usuario de Spark en forma local.