Hello.
I have simple storm app with hbase bolt.
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-hbase</artifactId>
<version>1.0.2</version>
</dependency>
It works ok.
I decided to add jdbc bolt to my test topology.
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-jdbc</artifactId>
<version>1.0.2</version>
<exclusions>
<!--
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
-->
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
Problem is that after adding storm-jdbc to pom hbase bolt stops working.
I got error below:
I dont have to add any additionall code to my topology.
Adding storm-jdbc to pom generates error.
Do you know how I can fix it ?
Shoud I change my storm-jdbc exclusions ?
2017-04-07 08:43:39.442 o.a.s.util [ERROR] Async loop died!
java.lang.IllegalAccessError: tried to access method
com.google.common.base.Stopwatch.<init>()V from class
org.apache.hadoop.hbase.zookeeper.MetaTableLocator
at
org.apache.hadoop.hbase.zookeeper.MetaTableLocator.blockUntilAvailable(MetaTableLocator.java:596)
~[stormjar.jar:?]
at
org.apache.hadoop.hbase.zookeeper.MetaTableLocator.blockUntilAvailable(MetaTableLocator.java:580)
~[stormjar.jar:?]
at
org.apache.hadoop.hbase.zookeeper.MetaTableLocator.blockUntilAvailable(MetaTableLocator.java:559)
~[stormjar.jar:?]
at
org.apache.hadoop.hbase.client.ZooKeeperRegistry.getMetaRegionLocation(ZooKeeperRegistry.java:61)
~[stormjar.jar:?]
at
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateMeta(ConnectionManager.java:1185)
~[stormjar.jar:?]
at
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1152)
~[stormjar.jar:?]
at
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.relocateRegion(ConnectionManager.java:1126)
~[stormjar.jar:?]
at
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegionInMeta(ConnectionManager.java:1331)
~[stormjar.jar:?]
at
org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.locateRegion(ConnectionManager.java:1155)
~[stormjar.jar:?]
at
org.apache.hadoop.hbase.client.AsyncProcess$AsyncRequestFutureImpl.findAllLocationsOrFail(AsyncProcess.java:940)
~[stormjar.jar:?]
at
org.apache.hadoop.hbase.client.AsyncProcess$AsyncRequestFutureImpl.groupAndSendMultiAction(AsyncProcess.java:857)
~[stormjar.jar:?]
at
org.apache.hadoop.hbase.client.AsyncProcess$AsyncRequestFutureImpl.access$100(AsyncProcess.java:575)
~[stormjar.jar:?]
at
org.apache.hadoop.hbase.client.AsyncProcess.submitAll(AsyncProcess.java:557)
~[stormjar.jar:?]
at org.apache.hadoop.hbase.client.HTable.batch(HTable.java:911)
~[stormjar.jar:?]
at
org.apache.storm.hbase.common.HBaseClient.batchMutate(HBaseClient.java:101)
~[stormjar.jar:?]
at org.apache.storm.hbase.bolt.HBaseBolt.execute(HBaseBolt.java:96)
~[stormjar.jar:?]
at
org.apache.storm.daemon.executor$fn__6952$tuple_action_fn__6954.invoke(executor.clj:728)
~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]
at
org.apache.storm.daemon.executor$mk_task_receiver$fn__6873.invoke(executor.clj:460)
~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]
at
org.apache.storm.disruptor$clojure_handler$reify__6388.onEvent(disruptor.clj:40)
~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]
at
org.apache.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:453)
~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]
at
org.apache.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:432)
~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]
at
org.apache.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:73)
~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]
at
org.apache.storm.daemon.executor$fn__6952$fn__6965$fn__7018.invoke(executor.clj:847)
~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]
at org.apache.storm.util$async_loop$fn__555.invoke(util.clj:484)
[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]
at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_77]
pozdrawiam
Marcin Kasiński
http://itzone.pl