Search code examples
javaooziehadoop2

java 500 error : Oozie web console 4.3


I am trying to configure Oozie in Ubuntu 16.04 LTS, the issue is oozie is running fine except at accessing web console I am getting following error

Java Version: 1.8

Oozie Version: 4.3

Hadoop : 2.3.7

Error

HTTP Status 500 - java.lang.NullPointerException

type Exception report

message java.lang.NullPointerException

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.NullPointerException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:542)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
    org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:171)
    org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:594)
    org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:553)
    org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:176)
    org.apache.oozie.servlet.HostnameFilter.doFilter(HostnameFilter.java:86)

root cause

java.lang.NullPointerException
    org.apache.jsp.index_jsp._jspInit(index_jsp.java:25)
    org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:164)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:340)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
    org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:171)
    org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:594)
    org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:553)
    org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:176)
    org.apache.oozie.servlet.HostnameFilter.doFilter(HostnameFilter.java:86)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.47 logs.
Apache Tomcat/6.0.47

Solution

  • It is a classloader issue specific to Jasper Engine. Actually, there would be two JSP-API files, one with jsp-api-2.1.jar in the WEB-INF/lib and another one jsp-api.jar, which is in the Tomcat/lib. Both were in the classpath in my case. First stop the oozie server. Then, move or delete the jsp-api-2.1.jar from the WEB-INF/lib, to make sure, class loader doesn't pick that. Inherently, Tomcat should pick it up from the Tomcat/lib. Now restart the oozie server. It should work. I had a same issue and followed as I mentioned above it worked. :-)