¿Cómo soluciono los errores «No se encontró la sesión '0'» y «Error al enviar la solicitud http y se ha alcanzado el número máximo de reintentos» en Amazon EMR?

3 minutos de lectura
0

Quiero solucionar los errores que se producen cuando ejecuto una aplicación de Apache Livy con un cuaderno de Jupyter en Amazon EMR.

Breve descripción

Cuando ejecuta una aplicación de Apache Livy con un cuaderno de Jupyter en Amazon EMR, se produce uno de los siguientes errores:

  • '404' de xxxxxxxx con carga de error: «No se encontró la sesión '0'»
  • «El código ha fallado debido a un error grave: Error al enviar la solicitud http y se ha alcanzado el número máximo de reintentos.»

Estos errores se suelen producir cuando se mantiene la sesión del cuaderno de Jupyter en ejecución hasta que se agota el tiempo de espera. Para solucionar estos errores, aumente el valor de la propiedad livy.server.session.timeout de /etc/livy/conf/livy.conf en el nodo maestro. A continuación, reinicie livy-server.

Solución

Puede modificar livy.server.session.timeout en un clúster de Amazon EMR en ejecución o al lanzar un nuevo clúster.

En un clúster en ejecución

1.    Abra /etc/livy/conf/livy.conf en el nodo maestro y, a continuación, modifique el valor livy.server.session.timeout (el valor predeterminado es 1 h). Ejemplo:

sudo vim /etc/livy/conf/livy.conf
livy.server.session.timeout 2h

2.    Ejecute los siguientes comandos en el nodo maestro para reiniciar livy-server:

Supongamos que utiliza una de las siguientes versiones de Amazon EMR que se basa en Amazon Linux 2:

  • Versión 5.30.0 o posterior de Amazon EMR
  • Serie 6.x de Amazon EMR

Ejecute los siguientes comandos:

sudo systemctl stop livy-server
sudo systemctl start livy-server

Si utiliza la versión 5.29.0 de Amazon EMR u otra anterior, ejecute los siguientes comandos:

sudo stop livy-server
sudo start livy-server

Mientras livy-server se reinicia, el clúster no está disponible. Para evitar el tiempo de inactividad, configure la aplicación de Livy cuando lance un clúster de Amazon EMR.

En un clúster nuevo

Añada un objeto de configuraciónsimilar al siguiente cuando lance un clúster con la versión 4.6.0 de Amazon EMR u otra posterior. Además de modificar livy.server.session.timeout, si lo desea, puede modificar las siguientes propiedades relacionadas:

  • livy.server.session.timeout-check: Cuando se activa, Livy detiene las sesiones inactivas que alcanzan el límite de tiempo de espera. La configuración predeterminada es true.
  • livy.server.yarn.app-lookup-timeout: Tiempo durante el cual Livy busca la aplicación YARN antes de considerarla perdida. La configuración predeterminada es 60 s.
[
    {
        "Classification": "livy-conf",
        "Properties": {
            "livy.server.session.timeout-check": "true",
            "livy.server.session.timeout": "2h",
            "livy.server.yarn.app-lookup-timeout": "120s"
        }
    }
]

Cuando acabe de ejecutar el trabajo, asegúrese de cerrar la sesión en Jupyter o Zeppelin. Si hay demasiadas sesiones abiertas, no se pueden iniciar nuevos trabajos hasta que haya recursos disponibles.


Información relacionada

Apache Livy

Cuaderno de Jupyter en Amazon EMR

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año