问题一
java.lang.ClassNotFoundException:org/springframework/data/hadoop/configuration/ConfigurationFactoryBean
解决办法
将jar包换成spring-data-hadoop-1.0.0.RELEASE版本
问题二
java.lang.ClassNotFoundException:org/apache/hadoop/conf/Configuration
解决办法
引入hadoop-client-3.1.3.jar 和 hadoop-common-3.1.3.jar
问题三
java.lang.NoClassDefFoundError: org/apache/commons/configuration2/Configuration
解决办法
引入commons-configuration2-2.3.jar
问题四
java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName
解决办法
引入hadoop-auth-3.1.3.jar
问题五
java.lang.NoClassDefFoundError: org/apache/hadoop/mapred/JobConf
解决办法
引入hadoop-mapreduce-client-common-3.1.3.jar、hadoop-mapreduce-client-core-3.1.3.jar和
hadoop-mapreduce-client-jobclient-3.1.3.jar
问题六
java.lang.NoClassDefFoundError: com/ctc/wstx/io/SystemId
解决办法
引入woodstox-core-5.0.3.jar
问题七
java.lang.NoClassDefFoundError: com/google/common/collect/Interners
解决办法
引入guava-30.1.1-jre.jar
问题八
java.lang.NoSuchMethodError:com.google.common.collect.MapMaker.keyEquivalence(Lcom/google/common/base/Equivalence;)Lcom/google/common/collect/MapMaker
解决办法
把google-collect-1.0.jar包去掉,guava冲突
问题九
java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/JsonGenerator
解决办法
引入jackson-annotations-2.12.4.jar、jackson-core-2.12.4.jar和jackson-databind-2.12.4.jar
问题十
java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
解决办法
引入hbase-common-2.2.4.jar
问题十一
java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/client/HTableInterface
解决办法
找了很久资料发现是配置文件里写了
<bean id="htemplate" class="org.springframework.data.hadoop.hbase.HbaseTemplate">
<property name="configuration" ref="hbaseConfiguration">
</property>
</bean>
将其注释掉
总结
多数是缺少jar包的问题,Spring集成Hbase需要的包有15个:
下载链接:hbasejar包.zip-群集服务文档类资源-CSDN下载
其中:
spring-data-hadoop-1.0.0.RELEASE.jar
hadoop-client-3.1.3.jar
hadoop-common-3.1.3.jar
hadoop-auth-3.1.3.jar
hadoop-mapreduce-client-common-3.1.3.jar
hadoop-mapreduce-client-core-3.1.3.jar
hadoop-mapreduce-client-jobclient-3.1.3.jar
commons-configuration2-2.3.jar
guava-30.1.1-jre.jar
jackson-annotations-2.12.4.jar
jackson-core-2.12.4.jar
jackson-databind-2.12.4.jar
这些包在集成HDFS时也是需要的