2014-04-23 47 views
0

我試圖加載使用水槽1.4和3.4.5 Zookepper數據流從水槽1.4串行到HBase的0.96

它讓我流數據到HBase的0.96以下錯誤開始時,水槽:

ERROR [lifecycleSupervisor-1-1] (org.apache.flume.sink.hbase.HBaseSink.start:138) - Could not load table, MyHbaseTable from HBase 
java.io.IOException: java.lang.reflect.InvocationTargetException 
    at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:389) 
    at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:366) 
    at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:247) 
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:188) 
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:150) 
    at org.apache.flume.sink.hbase.HBaseSink$1.run(HBaseSink.java:127) 
    at org.apache.flume.sink.hbase.HBaseSink$1.run(HBaseSink.java:124) 
    at org.apache.flume.sink.hbase.HBaseSink.runPrivileged(HBaseSink.java:327) 
    at org.apache.flume.sink.hbase.HBaseSink.start(HBaseSink.java:124) 
    at org.apache.flume.sink.DefaultSinkProcessor.start(DefaultSinkProcessor.java:46) 
    at org.apache.flume.SinkRunner.start(SinkRunner.java:79) 
    at org.apache.flume.lifecycle.LifecycleSupervisor$MonitorRunnable.run(LifecycleSupervisor.java:251) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351) 
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:724) 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:387) 
    ... 19 more 
Caused by: java.lang.VerifyError: class org.apache.hadoop.hbase.protobuf.generated.ClientProtos$Result overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet; 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:792) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit>(ProtobufUtil.java:172) 
    at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64) 
    at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:69) 
    at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:83) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.retrieveClusterId(HConnectionManager.java:801) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:633) 
    ... 24 more 

任何人都知道它爲什麼會給出這樣的錯誤。雖然我有各自的罐子加載。 在此先感謝

回答

0

java.lang.VerifyError: class org.apache.hadoop.hbase.protobuf.generated.ClientProtos$Result overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;

東西是在類路徑扭曲。我想你在那裏有一個不正確的谷歌protobuffers版本。

此錯誤消息是因爲JVM試圖加載ClientProto並去驗證它是否滿足所有要求。它已經從谷歌protobuf加載了一些東西,所以驗證失敗。在行家

0

附加protobuf的JAR依賴

<dependency> 
      <groupId>com.google.protobuf</groupId> 
      <artifactId>protobuf-java</artifactId> 
      <version>2.5.0</version> 
</dependency>