viernes, 27 de septiembre de 2013

Jobscheduler: Z-JAVA-101 Java Virtual Machine is not started


Montando un Jobscheduler en un servidor Red Hat tuve el problema de que al arrancarlo y tras lanzar el script jobscheduler_environment_variables.sh donde hace los export de las variables de sistema que necesita, me daba el famoso error Z-JAVA-101 Java Virtual Machine is not started. Revisando el propio log del Jobscheduler vi que me indicaba que no tenia permisos para ejecutar libjvm.so. Rascando un poco averigüé que esto se produce por las políticas de seguridad en linux y más concretamente las de Red Hat (Security-Enhanced Linux) que impedían que se cargara esa librería en el contexto donde debería cargarse. El error que aparece en el log es algo similar a este con las rutas que tengáis:

[ERROR Z-JAVA-100  Java Virtual Machine cannot be loaded [xxx/lib/i386/client/libjvm.so: cannot restore segment prot after reloc: Permission denied] [libjvm.so]]

Para cambiar el contexto de seguridad de la librería libjvm.so a textrel_shlib_t lanzaremos lo siguiente:

[pp@core bin]$ chcon -t textrel_shlib_t /home/xx/jdk/jdk1.6.0_27_i586/jre/lib/i386/client/libjvm.so

Otra manera sería desactivar el Security-Enhanced Linux, para esto podéis consultar este artículo.


No hay comentarios:

Publicar un comentario