2016-09-10 10 views
0

私はapache storm nimbusとスーパーバイザを別々に実行しています。次に、の嵐の瓶コマンドを使用して、トポロジ(建物トポロジ、スパウト、ボルト、依存クラスのコードを含むジャー)を嵐に送りました。スーパーバイザホスト上その後、私は以下の例外のショーが見つかりました:Exceptionから嵐のスーパーバイザがエグゼクティブを起動するとエラーが発生する

2016-09-06 21:49:32.649 org.apache.storm.daemon.executor [INFO][main] Loading executor __acker:[8 8] 
2016-09-06 21:49:32.661 org.apache.storm.daemon.executor [INFO][main] Loaded executor tasks __acker:[8 8] 
2016-09-06 21:49:32.672 org.apache.storm.daemon.executor [INFO][main] Timeouts disabled for executor __acker:[8 8] 
2016-09-06 21:49:32.673 org.apache.storm.daemon.executor [INFO][main] Finished loading executor __acker:[8 8] 
2016-09-06 21:49:32.688 org.apache.storm.daemon.executor [INFO][main] Loading executor EventDistributionBolt:[2 2] 
2016-09-06 21:49:32.711 org.apache.storm.daemon.executor [INFO][main] Loaded executor tasks EventDistributionBolt:[2 2] 
2016-09-06 21:49:32.713 org.apache.storm.daemon.executor [INFO][main] Finished loading executor EventDistributionBolt:[2 2] 
2016-09-06 21:49:32.728 org.apache.storm.daemon.executor [INFO][main] Loading executor SubscriptionFinderBolt:[6 6] 
2016-09-06 21:49:32.735 org.apache.storm.daemon.executor [INFO][main] Loaded executor tasks SubscriptionFinderBolt:[6 6] 
2016-09-06 21:49:32.742 org.apache.storm.daemon.executor [INFO][main] Finished loading executor SubscriptionFinderBolt:[6 6] 
2016-09-06 21:49:32.753 org.apache.storm.daemon.executor [INFO][main] Loading executor __system:[-1 -1] 
2016-09-06 21:49:32.755 org.apache.storm.daemon.executor [INFO][main] Loaded executor tasks __system:[-1 -1] 
2016-09-06 21:49:32.757 org.apache.storm.daemon.executor [INFO][main] Finished loading executor __system:[-1 -1] 
2016-09-06 21:49:32.768 org.apache.storm.daemon.executor [INFO][main] Loading executor __metricscom.xxx.alp.storm.metric.ServiceLogMetricsConsumer:[10 10] 
2016-09-06 21:49:32.771 org.apache.storm.daemon.executor [INFO][main] Loaded executor tasks __metricscom.xxxx.alp.storm.metric.ServiceLogMetricsConsumer:[10 10] 
2016-09-06 21:49:32.777 org.apache.storm.daemon.executor [INFO][main] Finished loading executor __metricscom.xxxx.alp.storm.metric.ServiceLogMetricsConsumer:[10 10] 
2016-09-06 21:49:32.789 org.apache.storm.daemon.executor [INFO][main] Loading executor EventStreamSpout:[4 4] 
2016-09-06 21:49:32.807 org.apache.storm.messaging.netty.Client [ERROR][client-boss-1] connection attempt 2 to Netty-Client-alp-storm-supervisor-2a-i-f478ab2f.XXXXXXXX.com/xxxx:6700 failed: java.net.ConnectException: Connection refused: alp-storm-supervisor-2a-i-f478ab2f.XXXX.com/xxxx:6700 
2016-09-06 21:49:32.936 org.apache.storm.daemon.worker [ERROR][main] Error on initialization of server mk-worker 
java.lang.RuntimeException: java.io.InvalidClassException: com.fasterxml.jackson.databind.deser.BasicDeserializerFactory; local class incompatible: stream classdesc serialVersionUID = -1426550576764902820, local class serialVersionUID = 2445376702910286321 
     at org.apache.storm.utils.Utils.javaDeserialize(Utils.java:179) ~[storm-core-1.0.x.jar:?] 
     at org.apache.storm.utils.Utils.getSetComponentObject(Utils.java:430) ~[storm-core-1.0.x.jar:?] 
     at org.apache.storm.daemon.task$get_task_object.invoke(task.clj:74) ~[storm-core-1.0.x.jar:?] 
     at org.apache.storm.daemon.task$mk_task_data$fn__5625.invoke(task.clj:177) ~[storm-core-1.0.x.jar:?] 
     at org.apache.storm.util$assoc_apply_self.invoke(util.clj:930) ~[storm-core-1.0.x.jar:?] 
     at org.apache.storm.daemon.task$mk_task_data.invoke(task.clj:170) ~[storm-core-1.0.x.jar:?] 
     at org.apache.storm.daemon.task$mk_task.invoke(task.clj:181) ~[storm-core-1.0.x.jar:?] 
     at org.apache.storm.daemon.executor$mk_executor$fn__5844.invoke(executor.clj:371) ~[storm-core-1.0.x.jar:?] 
     at clojure.core$map$fn__4553.invoke(core.clj:2622) ~[stormjar.jar:?] 
     at clojure.lang.LazySeq.sval(LazySeq.java:40) ~[stormjar.jar:?] 
     at clojure.lang.LazySeq.seq(LazySeq.java:49) ~[stormjar.jar:?] 
     at clojure.lang.RT.seq(RT.java:507) ~[stormjar.jar:?] 
     at clojure.core$seq__4128.invoke(core.clj:137) ~[stormjar.jar:?] 
     at clojure.core.protocols$seq_reduce.invoke(protocols.clj:30) ~[stormjar.jar:?] 
     at clojure.core.protocols$fn__6506.invoke(protocols.clj:101) ~[stormjar.jar:?] 
     at clojure.core.protocols$fn__6452$G__6447__6465.invoke(protocols.clj:13) ~[stormjar.jar:?] 
     at clojure.core$reduce.invoke(core.clj:6519) ~[stormjar.jar:?] 
     at clojure.core$into.invoke(core.clj:6600) ~[stormjar.jar:?] 
     at org.apache.storm.daemon.executor$mk_executor.invoke(executor.clj:372) ~[storm-core-1.0.x.jar:?] 
     at org.apache.storm.daemon.worker$fn__6474$exec_fn__2320__auto__$reify__6476$iter__6481__6485$fn__6486.invoke(worker.clj:634) ~[storm-core-1.0.x.jar:?] 
     at clojure.lang.LazySeq.sval(LazySeq.java:40) ~[stormjar.jar:?] 
     at clojure.lang.LazySeq.seq(LazySeq.java:49) ~[stormjar.jar:?] 
     at clojure.lang.Cons.next(Cons.java:39) ~[stormjar.jar:?] 
     at clojure.lang.RT.next(RT.java:674) ~[stormjar.jar:?] 
     at clojure.core$next__4112.invoke(core.clj:64) ~[stormjar.jar:?] 
     at clojure.core$dorun.invoke(core.clj:3010) ~[stormjar.jar:?] 
     at clojure.core$doall.invoke(core.clj:3025) ~[stormjar.jar:?] 
     at org.apache.storm.daemon.worker$fn__6474$exec_fn__2320__auto__$reify__6476.run(worker.clj:634) ~[storm-core-1.0.x.jar:?] 
     at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_102] 
     at javax.security.auth.Subject.doAs(Subject.java:422) ~[?:1.8.0_102] 
     at org.apache.storm.daemon.worker$fn__6474$exec_fn__2320__auto____6475.invoke(worker.clj:606) ~[storm-core-1.0.x.jar:?] 
     at clojure.lang.AFn.applyToHelper(AFn.java:178) ~[stormjar.jar:?] 
     at clojure.lang.AFn.applyTo(AFn.java:144) ~[stormjar.jar:?] 
     at clojure.core$apply.invoke(core.clj:630) ~[stormjar.jar:?] 
     at org.apache.storm.daemon.worker$fn__6474$mk_worker__6569.doInvoke(worker.clj:580) [storm-core-1.0.x.jar:?] 
     at clojure.lang.RestFn.invoke(RestFn.java:512) [stormjar.jar:?] 
     at org.apache.storm.daemon.worker$_main.invoke(worker.clj:768) [storm-core-1.0.x.jar:?] 
     at clojure.lang.AFn.applyToHelper(AFn.java:165) [stormjar.jar:?] 
     at clojure.lang.AFn.applyTo(AFn.java:144) [stormjar.jar:?] 
     at org.apache.storm.daemon.worker.main(Unknown Source) [storm-core-1.0.x.jar:?] 
Caused by: java.io.InvalidClassException: com.fasterxml.jackson.databind.deser.BasicDeserializerFactory; local class incompatible: stream classdesc serialVersionUID = -1426550576764902820, local class serialVersionUID = 2445376702910286321 
     at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:616) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1630) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1630) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1781) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) ~[?:1.8.0_102] 
     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373) ~[?:1.8.0_102] 
     at org.apache.storm.utils.Utils.javaDeserialize(Utils.java:175) ~[storm-core-1.0.x.jar:?] 
     ... 39 more 
2016-09-06 21:49:32.957 org.apache.storm.util [ERROR][main] Halting process: ("Error on initialization") 
java.lang.RuntimeException: ("Error on initialization") 
     at org.apache.storm.util$exit_process_BANG_.doInvoke(util.clj:341) [storm-core-1.0.x.jar:?] 
     at clojure.lang.RestFn.invoke(RestFn.java:423) [stormjar.jar:?] 
     at org.apache.storm.daemon.worker$fn__6474$mk_worker__6569.doInvoke(worker.clj:580) [storm-core-1.0.x.jar:?] 
     at clojure.lang.RestFn.invoke(RestFn.java:512) [stormjar.jar:?] 
     at org.apache.storm.daemon.worker$_main.invoke(worker.clj:768) [storm-core-1.0.x.jar:?] 
     at clojure.lang.AFn.applyToHelper(AFn.java:165) [stormjar.jar:?] 
     at clojure.lang.AFn.applyTo(AFn.java:144) [stormjar.jar:?] 
     at org.apache.storm.daemon.worker.main(Unknown Source) [storm-core-1.0.x.jar:?] 

を、私は、アップロードされたjarファイル内ジャクソンデータバインドのバージョンはジャクソン・データバインドと同じではありませんでしたので、それがあった考え出しましたスーパーバイザが使用します。その後、私はそれらを同じにして、再び瓶を再アップロードします。この時点でスーパーバイザノードのエグゼキュータを起動することはできませんでした。

この問題に基づいて、私の質問は以下のとおりです。

  1. は私が監督と私は同じバージョンをアップロードしたjarファイル間のすべての共有クラスを作成する必要がありますか?新しいバージョンを含む新しいjarファイルをアップロードしたり、新しいバージョンのクラスをスーパーバイザにデプロイすると、上記の問題が発生するため、これは不可能です。
  2. ワームプロセス内でエグゼキュータを起動する際にstormが使用するserialize/deserializeマカニズムは何ですか?シリアライズ/デシリアライズは何でしょうか?
  3. 最初の質問に対する答えが「はい」の場合、ストリーム処理に影響を与えずに、superviorとアップロードされたjarによって共有されるクラスをアップグレードするにはどうすればよいですか?

答えて

1

エラーから、より具体的には、serialVersionUID = -1426550576764902820, local class serialVersionUID = 2445376702910286321をシリアル化するために使用される固有のコードが原因でエラーが発生しているようです。

通常、スーパーバイザーとローカルで使用するジャックソンのデータバインドは、一致する必要はありません。私はJongoのコードでjackson databindを使用していますが、バージョンが監督者と一致することは決してありません。それらが異なる名前空間にある限り、矛盾はありません。

関連する問題