아래와 같은 에러 발생 시

1
2
3
4
5
6
7
8
9
10
11
12
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)
 
cs



oozie 홈 디렉터리 이하에 oozie-server/webapps/oozie/WEB-INF/lib/jsp-api-2.1.jar 파일과

oozie 홈 디렉터리 이하에 oozie-server/lib/jsp-api.jar 파일까지 2개의 jsp-api 버전의 jar 파일이 존재합니다.

파일을 검색 시 다음과 유사한 결과 값을 확인할 수 있습니다.

1
2
3
4
5
$ sudo find / -name "jsp*.jar" |grep oozie
/usr/local/oozie-4.3.0/libext/jsp-api-2.1.jar
/usr/local/oozie-4.3.0/oozie-server/lib/jsp-api.jar
/usr/local/oozie-4.3.0/oozie-server/webapps/oozie/WEB-INF/lib/jsp-api-2.1.jar
 
cs


위의 jsp-api 관련 jar 파일 중 WEB-INF/lib 디렉터리 이하에 jsp-api-2.1.jar 파일을 이동 혹은 삭제하여 classloader 가 선택되지 않도록 합니다.

그래서 WEB-INF/lib 가 아닌 oozie-server/lib 의 jsp-api.jar 를 참조할 수 있도록 합니다.

1
2
3
$ ll /usr/local/oozie-4.3.0/oozie-server/webapps/oozie/WEB-INF/lib |grep jsp-api
-rw-r--r-- 1 hadoop-user hadoop  100636 Jan 26 15:20 jsp-api-2.1.jar
 
cs


해당 jsp-api-2.1.jar 파일을 삭제 혹은 이동합니다.



출처: https://stackoverflow.com/questions/43051872/java-500-error-oozie-web-console-4-3


+ Recent posts