sqoop2-1.99.2-cdh4.5.0在安装过程中遇到各种NoClassDefFoundError异常,例如:
Exception sending context initialized event to listener instance of class org.apache.sqoop.server.ServerInitializer java.lang.NoClassDefFoundError: org/apache/commons/collections/map/UnmodifiableMap at org.apache.Hadoop.conf.Configuration$DeprecationContext.<init>(Configuration.java:386) at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:426) at org.apache.sqoop.submission.mapreduce.MapreduceSubmissionEngine.initialize(MapreduceSubmissionEngine.java:78) at org.apache.sqoop.framework.JobManager.initialize(JobManager.java:215) at org.apache.sqoop.core.SqoopServer.initialize(SqoopServer.java:53) at org.apache.sqoop.server.ServerInitializer.contextInitialized(ServerInitializer.java:36) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) at org.apache.catalina.core.StandardService.start(StandardService.java:525) at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) at org.apache.catalina.startup.Catalina.start(Catalina.java:595) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.map.UnmodifiableMap at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) ... 30 more 2014-3-19 10:03:19 org.apache.catalina.core.StandardContext listenerStop 严重: Exception sending context destroyed event to listener instance of class org.apache.sqoop.server.ServerInitializer java.lang.NullPointerException at org.apache.sqoop.framework.JobManager.destroy(JobManager.java:176) at org.apache.sqoop.core.SqoopServer.destroy(SqoopServer.java:36) at org.apache.sqoop.server.ServerInitializer.contextDestroyed(ServerInitializer.java:32) at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4245) at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4886) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4750) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) at org.apache.catalina.core.StandardService.start(StandardService.java:525) at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) at org.apache.catalina.startup.Catalina.start(Catalina.java:595) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 解决办法: 将相应的jar放到server/webapps/sqoop/WEB-INF/lib下
sqoop2依赖的所有jar:
avro-1.7.4.jar commons-cli-1.2.jar commons-configuration-1.6.jar commons-dbcp-1.4.jar commons-lang-2.5.jar commons-logging-1.1.1.jar commons-pool-1.5.4.jar derby-10.8.2.2.jar guava-11.0.2.jar hadoop-auth-2.0.0-cdh4.3.0.jar hadoop-common-2.0.0-cdh4.3.0.jar *hadoop-core-2.0.0-mr1-cdh4.3.0.jar* hadoop-hdfs-2.0.0-cdh4.3.0.jar hadoop-mapreduce-client-app-2.0.0-cdh4.3.0.jar hadoop-mapreduce-client-common-2.0.0-cdh4.3.0.jar hadoop-mapreduce-client-core-2.0.0-cdh4.3.0.jar hadoop-mapreduce-client-jobclient-2.0.0-cdh4.3.0.jar hadoop-yarn-api-2.0.0-cdh4.3.0.jar hadoop-yarn-common-2.0.0-cdh4.3.0.jar jackson-core-asl-1.8.8.jar jackson-mapper-asl-1.8.8.jar json-simple-1.1.jar log4j-1.2.16.jar mysql-connector-java-5.1.25-bin.jar protobuf-java-2.4.0a.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar sqoop-common-1.99.2.jar sqoop-connector-generic-jdbc-1.99.2.jar sqoop-core-1.99.2.jar sqoop-execution-mapreduce-1.99.2-hadoop200.jar sqoop-repository-derby-1.99.2.jar sqoop-spi-1.99.2.jar
sqoop-submission-mapreduce-1.99.2-hadoop200.jar