报错信息如下:
访问oozie
HTTP Status 500 - java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/IProblem;
type Exception report
message java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/IProblem;
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/IProblem; org.apache.jasper.servlet.JspServlet.service(JspServlet.java:273) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:126) org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:384) org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:131) org.apache.oozie.servlet.HostnameFilter.doFilter(HostnameFilter.java:84)
root cause
java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/IProblem; org.apache.jasper.compiler.JDTCompiler$2.acceptResult(JDTCompiler.java:354) org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:478) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:425) org.apache.jasper.compiler.Compiler.compile(Compiler.java:298) org.apache.jasper.compiler.Compiler.compile(Compiler.java:277) org.apache.jasper.compiler.Compiler.compile(Compiler.java:265) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:126) org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:384) org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:131) org.apache.oozie.servlet.HostnameFilter.doFilter(HostnameFilter.java:84)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.36 logs.
解决方法:
1、下载修复脚本
hadoop fs -get s3://support.elasticmapreduce/bootstrap-actions/ami/3.3.x/fix-oozie-console
脚本内容如下
#!/bin/bash
set -x
if [ -f /tmp/fix-oozie-console ]; then
exit 0
fi
OOZIE_HOME="/usr/lib/oozie"
HIVE_HOME="/home/hadoop/hive"
sudo mv $OOZIE_HOME/oozie-server/ecj-*.jar /tmp/
sudo cp -p $HIVE_HOME/lib/jasper-compiler-jdt-5.5.23.jar $OOZIE_HOME/oozie-server/lib/
sudo /etc/init.d/oozie stop
touch /tmp/fix-oozie-console
2、执行
bash fix-oozie-console
修复后正常