Caused by: java.io.IOException: java.lang.reflect.InvocationTargetException

今天在使用hbaseTemplate向Hbase里写数据时报错

错误信息:

Exception in thread "main" org.springframework.data.hadoop.hbase.HbaseSystemException: java.lang.reflect.InvocationTargetException; nested exception is java.io.IOException: java.lang.reflect.InvocationTargetException
    at org.springframework.data.hadoop.hbase.HbaseUtils.convertHbaseException(HbaseUtils.java:42)
    at org.springframework.data.hadoop.hbase.HbaseUtils.getHTable(HbaseUtils.java:82)
    at org.springframework.data.hadoop.hbase.HbaseTemplate.getTable(HbaseTemplate.java:78)
    at org.springframework.data.hadoop.hbase.HbaseTemplate.execute(HbaseTemplate.java:57)
    at org.springframework.data.hadoop.hbase.HbaseTemplate.find(HbaseTemplate.java:129)
    at org.springframework.data.hadoop.hbase.HbaseTemplate.find(HbaseTemplate.java:158)
    at com.example.demo.HbaseTest.find(HbaseTest.java:166)
    at com.example.demo.HbaseTest.main(HbaseTest.java:71)
Caused by: java.io.IOException: java.lang.reflect.InvocationTargetException
    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:240)
    at org.apache.hadoop.hbase.client.ConnectionManager.createConnection(ConnectionManager.java:431)
    at org.apache.hadoop.hbase.client.ConnectionManager.createConnection(ConnectionManager.java:424)
    at org.apache.hadoop.hbase.client.ConnectionManager.getConnectionInternal(ConnectionManager.java:302)
    at org.apache.hadoop.hbase.client.HTable.(HTable.java:184)
    at org.apache.hadoop.hbase.client.HTable.(HTable.java:164)
    at org.springframework.data.hadoop.hbase.HbaseUtils.getHTable(HbaseUtils.java:76)
    ... 6 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238)
    ... 12 more
Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/crypto/key/KeyProvider
    at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:148)
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2591)
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:89)
    at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2625)
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2607)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:368)
    at org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)
    at org.apache.hadoop.hbase.util.DynamicClassLoader.initTempDir(DynamicClassLoader.java:120)
    at org.apache.hadoop.hbase.util.DynamicClassLoader.(DynamicClassLoader.java:98)
    at org.apache.hadoop.hbase.protobuf.ProtobufUtil.(ProtobufUtil.java:242)
    at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64)
    at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:75)
    at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:105)
    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:905)
    at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.(ConnectionManager.java:648)
    ... 17 more
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.crypto.key.KeyProvider
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 32 more

错误原因:pom.xml文件中少导入了hadoop-common

解决方法:在pom.xml中导入


org.apache.hadoop
hadoop-common
2.6.0

 

你可能感兴趣的:(报错信息解决方法)