Quiero solucionar los errores que se producen al usar un cuaderno de Jupyter para ejecutar una aplicación de Apache Livy en Amazon EMR.
Resolución
Es posible que se produzca uno de los siguientes errores cuando utilices un cuaderno de Jupyter para ejecutar una aplicación de Apache Livy en Amazon EMR:
- «404» de ######## con la carga útil de error: «session '0' not found»
- «The code failed because of a fatal error: Error sending http request and maximum retry encountered».
Se producen los errores anteriores cuando ejecutas tu sesión de cuaderno de Jupyter hasta que se agote el tiempo de espera. Para solucionar estos errores, aumenta el valor de la propiedad livy.server.session.timeout de /etc/livy/conf/livy.conf en el nodo principal. A continuación, reinicia livy-server.
Puedes modificar la propiedad livy.server.session.timeout en un clúster de Amazon EMR en ejecución o al iniciar un clúster nuevo.
Modificación de livy.server.session.timeout en un clúster en ejecución
Sigue estos pasos:
- Abre /etc/livy/conf/livy.conf en el nodo principal activo.
- Modifica el valor de livy.server.session.timeout:
sudo vim /etc/livy/conf/livy.conflivy.server.session.timeout 2h
Nota: Sustituye 2h por el valor que se ajuste a rus necesidades. El valor predeterminado es de 1 hora.
- Para reiniciar livy-server, ejecuta uno de los siguientes comandos que se ajuste a tus requisitos de versión en el nodo principal activo.
Para la versión 5.30.0 o posterior de Amazon EMR, la serie 6 de Amazon EMR y la serie 7 de Amazon EMR en Amazon Linux 2, ejecuta el siguiente comando:
sudo systemctl stop livy-server
sudo systemctl start livy-server
Para la versión 5.29.0 o anterior de Amazon EMR, ejecuta el siguiente comando:
sudo stop livy-server
sudo start livy-server
Nota: Cuando livy-server se reinicia, no puedes acceder a tu clúster. Para evitar el tiempo de inactividad, configura la aplicación de Apache Livy cuando inicies un clúster de Amazon EMR.
Modificación de livy.server.session.timeout en un clúster nuevo
Agrega un objeto de configuración cuando utilices la versión 4.6.0 o posterior de Amazon EMR para iniciar un clúster.
Ejemplo:
[
{
"Classification": "livy-conf",
"Properties": {
"livy.server.session.timeout-check": "true",
"livy.server.session.timeout": "2h",
"livy.server.yarn.app-lookup-timeout": "120s"
}
}
]
También puedes modificar las siguientes propiedades relacionadas:
- Al activar la propiedad livy.server.session.timeout-check, Apache Livy detiene las sesiones inactivas que alcanzan el límite de tiempo de espera. La configuración predeterminada es true.
- La propiedad livy.server.yarn.app-lookup-timeout es el tiempo que Apache Livy busca la aplicación YARN antes de que la aplicación la considere perdida. La configuración predeterminada es 60 s.
Después de ejecutar el trabajo, asegúrate 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