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.
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 Launch Stack (Lanzar pila) de la siguiente tabla. Esto lanza la pila en la consola de AWS CloudFormation.
-
En la página Specify template elija Next.
-
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).
-
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.
-
-
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.
-
-
Elija Siguiente.
-
-
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).
-
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).
-
Espere a que se cree la pila.
-
Haga clic en la pestaña Outputs.
-
Copia la URL de SparkUiPublicUrlsi estás utilizando una subred pública.
-
Copia la URL de SparkUiPrivateUrlsi estás 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
Descarga 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. -
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 TemporalAWSCredentialsProvideren 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.