¿Por qué no puedo ver el historial de eventos o registros de Apache Spark desde la interfaz de usuario web de Spark en Amazon EMR?

4 minutos de lectura
0

No puedo ver el historial de eventos o registros de Apache Spark desde la interfaz de usuario web de Spark en Amazon EMR.

Descripción breve

Puede ver el servidor del historial de Spark en Amazon EMR mediante los siguientes recursos:

  • El acceso desde fuera del clúster a las interfaces de usuario de aplicaciones persistentes (a partir de EMR 5.25.0)
  • Las interfaces de usuario de las aplicaciones en el clúster al configurar un proxy web a través de una conexión SSH

Resolución

No puedo ver los eventos de mi historial de Spark mediante la interfaz de usuario o el servidor del historial de Spark persistente fuera del clúster

Los eventos persistentes del servidor del historial de Spark no son accesibles en los clústeres de EMR que tienen lo siguiente:

  • Múltiples nodos maestros
  • Clústeres de EMR integrados a AWS Lake Formation
  • Un directorio predeterminado que se cambió de HDFS a un sistema de archivos diferente, como Amazon Simple Storage Service (Amazon S3)

Para obtener más información, consulte View persistent application user interfaces - Considerations and limitations (Ver interfaces de usuario de aplicaciones persistentes: condiciones y limitaciones).

Nota: El servidor del historial de Spark persistente no es adecuado para realizar pruebas de carga ni para ver miles de aplicaciones de Spark que se ejecutan en paralelo. Para realizar una prueba de carga o ver muchas aplicaciones, use el servidor del historial de Spark en el clúster.

No puedo ver los eventos de mi historial de Spark mediante el servidor del historial de Spark en el clúster o la interfaz de usuario del clúster

No se puede acceder a los eventos del servidor del historial de Spark en el clúster si se guardan los eventos de Spark en un bucket de S3 en versiones de Amazon EMR anteriores a 6.3* y 5.30. El servidor del historial de Spark en estas versiones de Amazon EMR no tiene el archivo JAR emrfs-hadoop-assembly necesario para acceder a los buckets de S3. Sin este archivo JAR, recibirá el siguiente error al intentar acceder a los eventos del servidor del historial de Spark:

INFO FsHistoryProvider: History server ui acls disabled; users with admin permissions: ; groups with admin permissions
Exception in thread "main" java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.amazon.ws.emr.hadoop.fs.EmrFileSystem not found

Para evitar este error, utilice la siguiente configuración de clúster. En ella, se agrega el archivo JAR  emrfs-hadoop-assembly requerido al classpath (ruta de clase) del servidor del historial de Spark.

[
  {
    "classification": "spark-defaults",
    "configurations": [],
    "properties": {
      "spark.eventLog.dir": "s3://<yourbucket>/",
      "spark.history.fs.logDirectory": "s3://<yourbucket>/"
    }
  },
  {
    "classification": "spark-env",
    "configurations": [
      {
        "classification": "export",
        "properties": {
          "SPARK_DAEMON_CLASSPATH": "$(ls /usr/share/aws/emr/emrfs/lib/emrfs-hadoop-assembly-*)"
        }
      }
    ],
    "properties": {}
  }
]

En las versiones 6.x de EMR (hasta la versión 6.3), configurar el directorio de registro de eventos de Spark en S3 durante el lanzamiento del clúster sin emrfs-hadoop-assembly provoca la finalización del clúster. Realizar cambios después de que el clúster esté en ejecución puede provocar que los cambios de configuración se reviertan.

Nota: Esta solución no es necesaria para las versiones de Amazon EMR posteriores a la 6.3 y 5.30, ya que el archivo JAR necesario se agrega de forma predeterminada a la carpeta /usr/lib/spark/jars/.

Tenga en cuenta que el servidor del historial de Spark no muestra las aplicaciones en la lista de aplicaciones incompleta cuando los eventos de Spark se escriben en S3. Además, si el contexto de Spark no se cierra de forma correcta, los registros de eventos no se cargan de forma adecuada en S3.

No puedo ver los eventos del historial de Spark de mi clúster que está en una subred privada

Si utiliza una subred privada para el clúster, asegúrese de que la política de puntos de conexión de Amazon Virtual Private Cloud (Amazon VPC) para la subred privada sea correcta. La política de puntos de conexión de VPC debe incluir arn:aws:s3:::prod.MyRegion.appinfo.src/* en la lista de recursos de S3. Para obtener más información, consulte Minimum Amazon S3 policy for private subnet (Política mínima de Amazon S3 para subred privada).

Recibo el error “NET:ERR_CERT_COMMON_NAME_INVALID” después de activar el cifrado en tránsito en la interfaz de usuario de Spark

Este error se debe a un problema de validación del certificado del navegador. Si utiliza Mozilla Firefox, verá una opción para aceptar el riesgo y seguir usando el certificado. En Google Chrome, escriba thisisunsafe en la página de advertencia para que Chrome omita la validación del certificado.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año