Dependencies for using Pulsar in Storm topologies
See original GitHub issuePulsar version: 2.2.0
I build an uber jar for a Storm toplogy containing the following dependency as per http://pulsar.apache.org/docs/latest/adaptors/PulsarStorm/
<properties>
<pulsar.version>2.2.0</pulsar.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-storm</artifactId>
<version>${pulsar.version}</version>
</dependency>
</dependencies>
am getting
13900 [pulsar-client-io-3-1] WARN o.a.p.c.i.ClientCnx - [localhost/127.0.0.1:6650] Got exception NoClassDefFoundError : org/asynchttpclient/channel/KeepAliveStrategy
java.lang.NoClassDefFoundError: org/asynchttpclient/channel/KeepAliveStrategy
at org.apache.pulsar.client.impl.ClientCnx.newConnectCommand(ClientCnx.java:171) ~[pulsar-1.0-SNAPSHOT.jar:?]
at org.apache.pulsar.client.impl.ClientCnx.channelActive(ClientCnx.java:151) ~[pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:192) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.ChannelInboundHandlerAdapter.channelActive(ChannelInboundHandlerAdapter.java:64) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:192) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelActive(DefaultChannelPipeline.java:1402) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.DefaultChannelPipeline.fireChannelActive(DefaultChannelPipeline.java:921) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.fulfillConnectPromise(AbstractEpollChannel.java:616) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:649) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:525) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:394) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886) [pulsar-1.0-SNAPSHOT.jar:?]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [pulsar-1.0-SNAPSHOT.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
so I added the following dependency explicitly
<dependency>
<groupId>org.asynchttpclient</groupId>
<artifactId>async-http-client</artifactId>
<version>2.1.0-alpha26</version>
</dependency>
which seems to solve this particular problem. Shouldn’t the documentation list that dependency?
Am then getting an endless stream of errors in the logs
72085 [pulsar-timer-8-1] WARN o.a.p.c.i.ProducerImpl - [persistent://public/crawl/in-partition-8] [crawler-1-1540895529_0] error while closing out batch -- java.lang.NoSuchMethodError: com.scurrilous.circe.checksum.Crc32cIntChecksum.computeChecksum(Lio/netty/buffer/ByteBuf;)I
72086 [pulsar-timer-9-1] WARN o.a.p.c.i.ProducerImpl - [persistent://public/crawl/in-partition-5] [crawler-1-1540895529_1] error while closing out batch -- java.lang.NoSuchMethodError: com.scurrilous.circe.checksum.Crc32cIntChecksum.computeChecksum(Lio/netty/buffer/ByteBuf;)I
72086 [pulsar-timer-8-1] WARN o.a.p.c.i.ProducerImpl - [persistent://public/crawl/in-partition-6] [crawler-1-1540895529_0] error while closing out batch -- java.lang.NoSuchMethodError: com.scurrilous.circe.checksum.Crc32cIntChecksum.computeChecksum(Lio/netty/buffer/ByteBuf;)I
72086 [pulsar-timer-9-1] WARN o.a.p.c.i.ProducerImpl - [persistent://public/crawl/in-partition-1] [crawler-1-1540895529_1] error while closing out batch -- java.lang.NoSuchMethodError: com.scurrilous.circe.checksum.Crc32cIntChecksum.computeChecksum(Lio/netty/buffer/ByteBuf;)I
I checked the dependencies and that class and method seem to be there. Any idea?
See https://github.com/DigitalPebble/storm-crawler/tree/pulsar/external/pulsar for the code I wrote based on your Storm adaptor. Thanks!
Issue Analytics
- State:
- Created 5 years ago
- Comments:5 (2 by maintainers)
Top Results From Across the Web
Pulsar adaptor for Apache Storm
Pulsar Storm is an adaptor for integrating with Apache Storm topologies. It provides core Storm implementations for sending and receiving data.
Read more >Download dependencies for java class LZMA2Decoder
Here you can download the dependencies for the java class LZMA2Decoder. Use this engine to looking through the maven repository.
Read more >Apache Storm 2.0 - Yahoo Developer Network on Tumblr
We have now split this up and storm-client provides everything needed for your topology to run. Storm-core can still be used as a...
Read more >Apache Spark vs Apache Storm | Which one is better? 2022
Apache Storm: The UI of Apache Storm supports images of every topology, with a complete break-up of internal bolts and spouts. Moreover, UI...
Read more >Connecting Storm to CKafka - Tencent Cloud
A data processing program submitted to Storm is called a topology . The minimum message unit it processes is tuple (an array of...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@jnioche I think there is a problem in the pulsar-storm pom file: https://search.maven.org/artifact/org.apache.pulsar/pulsar-storm/2.2.0/jar it is mixing shaded and unshaded versions of pulsar. working on a fix
@jnioche thank you for reporting this. will work on a fix.