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

Reply via email to