STORM ERROR java.lang.UnsatisfiedLinkError?

2020-08-01 05:16发布

问题:

Compile no problem, but after run.....

26183 [Thread-34] ERROR backtype.storm.util  - Async loop died!
java.lang.UnsatisfiedLinkError: org.zeromq.ZMQ$Socket.finalize()V
    at org.zeromq.ZMQ$Socket.finalize(Native Method)
    at org.zeromq.ZMQ$Socket.close(ZMQ.java:339)
    at storm.starter.spout.RandomSentenceSpout.nextTuple(RandomSentenceSpout.java:56)
    at backtype.storm.daemon.executor$fn__3985$fn__3997$fn__4026.invoke(executor.clj:502)
    at backtype.storm.util$async_loop$fn__465.invoke(util.clj:377)
    at clojure.lang.AFn.run(AFn.java:24)
    at java.lang.Thread.run(Thread.java:724)
         26185 [Thread-34] ERROR backtype.storm.daemon.executor  - 
    java.lang.UnsatisfiedLinkError: org.zeromq.ZMQ$Socket.finalize()V
    at org.zeromq.ZMQ$Socket.finalize(Native Method)
   at org.zeromq.ZMQ$Socket.close(ZMQ.java:339)
   at storm.starter.spout.RandomSentenceSpout.nextTuple(RandomSentenceSpout.java:56)
   at backtype.storm.daemon.executor$fn__3985$fn__3997$fn__4026.invoke(executor.clj:502)
   at backtype.storm.util$async_loop$fn__465.invoke(util.clj:377)
   at clojure.lang.AFn.run(AFn.java:24)
   at java.lang.Thread.run(Thread.java:724)

回答1:

Storm recommends to use exactly 2.1.7 version of zeroMQ.

https://github.com/xumingming/storm-wiki/blob/master/Installing-native-dependencies.md

Other version are known to cause issues as there are some serious bugs. Which version of zeroMQ are you using?



回答2:

Seems the OP is long gone but I'm leaving this answer in case anyone else has this problem (this page had a high page rank when I googled for the same solution)

There's an issue with some versions of ZMQ (specifically the java wrapper) that throws UnsatisfiedLinkError when you try to close a socket, like storm is doing in this case.

More info here:

https://github.com/zeromq/jzmq/issues/237

The obvious solution would be to upgrade your jzmq version (or in this case, storm version).

Cheers.