Lanzamiento del servidor de historial de Spark
Puede utilizar un servidor de historial de Spark para visualizar los registros de Spark en su propia infraestructura. Puede ver en la consola de AWS Glue las mismas visualizaciones del trabajo de AWS Glue que se ejecute en las versiones 4.0 o posteriores deAWS Glue , con registros generados en formato estándar (en lugar de tradicional). Para obtener más información, consulte Monitorización de trabajos mediante la interfaz de usuario web de Apache 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.
Temas
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
-
Elija uno de los botones Lanzar pila de la siguiente tabla. Esto lanza la pila en la consola de AWS CloudFormation.
-
En la página Especificar plantilla elija Siguiente.
-
En la página Especificar detalles de pila, escriba el nombre de la pila. Introduzca información adicional en Parámetros.
-
Configuración de la interfaz de usuario de Spark
Proporcione la información siguiente:
-
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.
-
Puerto de servidor de historial: el puerto para la interfaz de usuario de Spark. Puede utilizar el valor predeterminado.
-
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. -
Ubicación del paquete de Spark: puede utilizar el valor predeterminado.
-
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. -
Contraseña del almacén de claves: ingrese una contraseña del almacén de claves SSL/TLS para HTTPS.
-
-
Configuración de instancias EC2
Proporcione la información siguiente:
-
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.
-
Ú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.
-
ID de VPC: el ID de la nube privada virtual (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.
-
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.
-
-
Elija Siguiente.
-
-
En la página Configurar las opciones de pila, para utilizar las credenciales de usuario actuales para determinar cómo CloudFormation puede crear, modificar o eliminar recursos de la pila, elija Próximo. También puede especificar un rol en la sección Permisos que utilizará en lugar de los permisos de usuario actuales y, a continuación, elija Siguiente.
-
En la página Revisar, examine la plantilla.
Elija Confirmo que AWS CloudFormation puede crear recursos de IAM y, a continuación, elija Crear pila.
-
Espere a que se cree la pila.
-
Haga clic en la pestaña Salidas.
-
Copie la URL de SparkUiPublicUrl si está utilizando una subred pública.
-
Copie la URL de SparkUiPrivateUrl si está utilizando una subred privada.
-
-
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
-
Descargue archivos desde GitHub.
Descargue Dockerfile y
pom.xml
de las muestras de código de AWS Glue. -
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
yAWS_SECRET_ACCESS_KEY
en el comandodocker 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 de . -
Para utilizar usuarios federados SAML 2.0 para acceder a AWS, obtenga los valores de
AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
yAWS_SESSION_TOKEN
. Para obtener más información, consulte Solicitud de credenciales de seguridad temporales
-
-
Determine la ubicación del directorio de registro de eventos que se utilizará en el comando
docker run
. -
Cree la imagen de Docker con los archivos del directorio local y utilice el nombre
glue/sparkui
y la etiquetalatest
.$ docker build -t glue/sparkui:latest .
-
Cree e inicie el contenedor de docker.
En los siguientes comandos, utilice los valores obtenidos anteriormente en los pasos 2 y 3.
-
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" -
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 TemporaryAWSCredentialsProvideren 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
. -
-
Abra
http://localhost:18080
en el navegador para ver la interfaz de usuario de Spark en forma local.