2014-04-23 217 views
3

您試用風暴啓動的例子,我按照說明按本頁面 - https://github.com/apache/incubator-storm/tree/master/examples/storm-starter的NoSuchMethodError:DefaultKryoFactory - 試圖運行一個風暴啓動項目的拓撲結構

下面的說明後,默認的設置與

mvn compile exec:java -Dstorm.topology=storm.starter.ExclamationTopology

這給了一個錯誤 - -

java.lang.ClassNotFoundException: org.apache.zookeeper.server.NIOServerCnxn$Factory

這場風暴0.9.1當我運行該命令不執行由於該類在Zookeeper 3.4.x版本中被重命名而出現。

4749 [Thread-9] INFO com.netflix.curator.framework.imps.CuratorFrameworkImpl - Starting 
4765 [Thread-9-EventThread] INFO backtype.storm.zookeeper - Zookeeper state update: :connected:none 
4774 [Thread-9] INFO com.netflix.curator.framework.imps.CuratorFrameworkImpl - Starting 
4969 [Thread-9] ERROR backtype.storm.daemon.worker - Error on initialization of server mk-worker 
java.lang.NoSuchMethodError: backtype.storm.serialization.DefaultKryoFactory$KryoSerializableDefault.setReferences(Z)V 
    at backtype.storm.serialization.DefaultKryoFactory.getKryo(DefaultKryoFactory.java:49) ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] 
    at backtype.storm.serialization.SerializationFactory.getKryo(SerializationFactory.java:51) ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] 
    at backtype.storm.serialization.KryoValuesDeserializer.<init>(KryoValuesDeserializer.java:33) ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] 
    at backtype.storm.serialization.KryoTupleDeserializer.<init>(KryoTupleDeserializer.java:39) ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] 
    at backtype.storm.daemon.executor$mk_executor_data$fn__2099.invoke(executor.clj:211) ~[classes/:na] 
    at backtype.storm.util$assoc_apply_self.invoke(util.clj:792) ~[classes/:0.9.1-incubating] 
    at backtype.storm.daemon.executor$mk_executor_data.invoke(executor.clj:211) ~[classes/:na] 
    at backtype.storm.daemon.executor$mk_executor.invoke(executor.clj:316) ~[classes/:na] 
    at backtype.storm.daemon.worker$fn__2575$exec_fn__1083__auto____2576$iter__2581__2585$fn__2586.invoke(worker.clj:375) ~[classes/:na] 
    at clojure.lang.LazySeq.sval(LazySeq.java:42) ~[clojure-1.4.0.jar:na] 
    at clojure.lang.LazySeq.seq(LazySeq.java:60) ~[clojure-1.4.0.jar:na] 
    at clojure.lang.RT.seq(RT.java:473) ~[clojure-1.4.0.jar:na] 
    at clojure.core$seq.invoke(core.clj:133) ~[clojure-1.4.0.jar:na] 
    at clojure.core$dorun.invoke(core.clj:2725) ~[clojure-1.4.0.jar:na] 
    at clojure.core$doall.invoke(core.clj:2741) ~[clojure-1.4.0.jar:na] 
    at backtype.storm.daemon.worker$fn__2575$exec_fn__1083__auto____2576.invoke(worker.clj:375) ~[classes/:na] 
    at clojure.lang.AFn.applyToHelper(AFn.java:185) ~[clojure-1.4.0.jar:na] 
    at clojure.lang.AFn.applyTo(AFn.java:151) ~[clojure-1.4.0.jar:na] 
    at clojure.core$apply.invoke(core.clj:601) ~[clojure-1.4.0.jar:na] 
    at backtype.storm.daemon.worker$fn__2575$mk_worker__2631.doInvoke(worker.clj:344) ~[classes/:na] 
    at clojure.lang.RestFn.invoke(RestFn.java:512) ~[clojure-1.4.0.jar:na] 
    at backtype.storm.daemon.supervisor$fn__3060.invoke(supervisor.clj:504) ~[classes/:na] 
    at clojure.lang.MultiFn.invoke(MultiFn.java:177) ~[clojure-1.4.0.jar:na] 
    at backtype.storm.daemon.supervisor$sync_processes$iter__2918__2922$fn__2923.invoke(supervisor.clj:264) ~[classes/:na] 
    at clojure.lang.LazySeq.sval(LazySeq.java:42) ~[clojure-1.4.0.jar:na] 
    at clojure.lang.LazySeq.seq(LazySeq.java:60) ~[clojure-1.4.0.jar:na] 
    at clojure.lang.RT.seq(RT.java:473) ~[clojure-1.4.0.jar:na] 
    at clojure.core$seq.invoke(core.clj:133) ~[clojure-1.4.0.jar:na] 
    at clojure.core$dorun.invoke(core.clj:2725) ~[clojure-1.4.0.jar:na] 
    at clojure.core$doall.invoke(core.clj:2741) ~[clojure-1.4.0.jar:na] 
    at backtype.storm.daemon.supervisor$sync_processes.invoke(supervisor.clj:252) ~[classes/:na] 
    at clojure.lang.AFn.applyToHelper(AFn.java:161) ~[clojure-1.4.0.jar:na] 
    at clojure.lang.AFn.applyTo(AFn.java:151) ~[clojure-1.4.0.jar:na] 
    at clojure.core$apply.invoke(core.clj:603) ~[clojure-1.4.0.jar:na] 
    at clojure.core$partial$fn__4070.doInvoke(core.clj:2343) ~[clojure-1.4.0.jar:na] 
    at clojure.lang.RestFn.invoke(RestFn.java:397) ~[clojure-1.4.0.jar:na] 
    at backtype.storm.event$event_manager$fn__747.invoke(event.clj:39) ~[classes/:0.9.1-incubating] 
    at clojure.lang.AFn.run(AFn.java:24) ~[clojure-1.4.0.jar:na] 
    at java.lang.Thread.run(Thread.java:701) ~[na:1.6.0_30] 
4999 [Thread-9] INFO backtype.storm.util - Halting process: ("Error on initialization") 

這裏是如何的pom.xml的屬性設置:http://mail-archives.apache.org/mod_mbox/storm-user/201403.mbox/%[email protected]%3E

現在,當我運行上面mvn命令,我結束了與錯誤跟蹤如下 - 我根據這個話題改變依賴目前。

<properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <test.extra.args>-Djava.net.preferIPv4Stack=true</test.extra.args> 

     <!-- dependency versions --> 
     <clojure.version>1.4.0</clojure.version> 
     <compojure.version>1.1.3</compojure.version> 
     <hiccup.version>0.3.6</hiccup.version> 
     <commons-io.verson>2.4</commons-io.verson> 
     <commons-lang.version>2.5</commons-lang.version> 
     <commons-exec.version>1.1</commons-exec.version> 
     <clj-time.version>0.4.1</clj-time.version> 
     <curator.version>1.0.1</curator.version> 
     <json-simple.version>1.1</json-simple.version> 
     <ring.version>0.3.11</ring.version> 
     <clojure.tools.logging.version>0.2.3</clojure.tools.logging.version> 
     <clojure.math.numeric-tower.version>0.0.1</clojure.math.numeric-tower.version> 
     <carbonite.version>1.4.0</carbonite.version> 
     <snakeyaml.version>1.11</snakeyaml.version> 
     <httpclient.version>4.1.1</httpclient.version> 
     <clojure.tools.cli.version>0.2.2</clojure.tools.cli.version> 
     <disruptor.version>2.10.1</disruptor.version> 
     <jgrapht.version>0.9.0</jgrapht.version> 
     <guava.version>13.0</guava.version> 
     <logback-classic.version>1.0.6</logback-classic.version> 
     <log4j-over-slf4j.version>1.6.6</log4j-over-slf4j.version> 
     <netty.version>3.6.3.Final</netty.version> 
     <clojure.tools.nrepl.version>0.2.3</clojure.tools.nrepl.version> 
     <clojure-complete.version>0.2.3</clojure-complete.version> 
     <mockito.version>1.9.5</mockito.version> 
     <reply.version>0.3.0</reply.version> 
     <zookeeper.version>3.3.3</zookeeper.version> 

    </properties> 

我還沒有找到任何線程,暗示此DefaultKryoFactory錯誤的解決方案。任何指針讚賞。

回答

0

以下依賴

<dependency> 
<groupId>storm</groupId> 
<artifactId>storm</artifactId> 
<version>0.9.1</version> 
</dependency> 
+0

我對0.9.1-培養版本添加。 – ShishirK

+0

閱讀此博客http://www.thecloudavenue.com/2013/11/InstallingAndConfiguringStormOnUbuntu.html –