Java 启动Apache Storm Supervisor时出错

Java 启动Apache Storm Supervisor时出错,java,apache-storm,Java,Apache Storm,我试图重新启动ApacheStorm集群,但遇到了一些问题。我有两个不会重新启动的主管。当我查看主管日志时,我看到以下错误: java.lang.RuntimeException: java.io.StreamCorruptedException: invalid stream header: 00000000 at backtype.storm.serialization.DefaultSerializationDelegate.deserialize(DefaultSerializati

我试图重新启动ApacheStorm集群,但遇到了一些问题。我有两个不会重新启动的主管。当我查看主管日志时,我看到以下错误:

java.lang.RuntimeException: java.io.StreamCorruptedException: invalid stream header: 00000000
  at backtype.storm.serialization.DefaultSerializationDelegate.deserialize(DefaultSerializationDelegate.java:56) ~[storm-core-0.9.3.jar:0.9.3]
  at backtype.storm.utils.Utils.deserialize(Utils.java:89) ~[storm-core-0.9.3.jar:0.9.3]
  at backtype.storm.utils.LocalState.deserializeLatestVersion(LocalState.java:65) ~[storm-core-0.9.3.jar:0.9.3]
  at backtype.storm.utils.LocalState.snapshot(LocalState.java:47) ~[storm-core-0.9.3.jar:0.9.3]
  at backtype.storm.utils.LocalState.get(LocalState.java:72) ~[storm-core-0.9.3.jar:0.9.3]
  at backtype.storm.daemon.supervisor$read_worker_heartbeat.invoke.(supervisor.clj:96) ~[storm-core-0.9.3.jar:0.9.3]
  at backtype.storm.daemon.supervisor$read_worker_heartbeats$iter__3992__3996$fn__3997.invoke(supervisor.clj:109) ~[storm-core-0.9.3.jar:0.9.3]
  at clojure.lang.LazySeq.sval(LazySeq.java:42) ~[clojure-1.5.1.jar:na]
  at clojure.lang.LazySeq.seq(LazySeq.java:60) ~[clojure-1.5.1.jar:na]
  at clojure.lang.RT.seq(RT.java:484) ~[clojure-1.5.1.jar:na]
  at clojure.core$seq.invoke(core.clj:133) ~[clojure-1.5.1.jar:na]
  at clojure.core$dorun.invoke(core.clj:2780) ~[clojure-1.5.1.jar:na]
  at clojure.core$doall.invoke(core.clj:2796) ~[clojure-1.5.1.jar:na]
  at backtype.storm.daemon.supervisor$read_worker_heartbeats.invoke(supervisor.clj:108) ~[storm-core-0.9.3.jar:0.9.3]
  at backtype.storm.daemon.supervisor$read_allocated_workers.invoke(supervisor.clj:125) ~[storm-core-0.9.3.jar:0.9.3]
  at backtype.storm.daemon.supervisor$sync_processes.invoke(supervisor.clj:230) ~[storm-core-0.9.3.jar:0.9.3]
  at clojure.lang.Afn.applyToHelper(AFn.java:161) ~[clojure-1.5.1.jar:na]
  at clojure.lang.AFn.applyTo(AFn.java:151) ~[clojure-1.5.1.jar:na]
  at clojure.core$apply.invoke(core.clj:619) ~[clojure-1.5.1.jar:na]
  at clojure.core$partial$fn__4190.doInvoke(core.clj:2396) ~[clojure-1.5.1.jar:na]
  at clojure.lang.RestFn.invoke(RestFn.java:397) ~[clojure-1.5.1.jar:na]
  at backtype.storm.event$event_manager$fn__2467.invoke(event.clj:40) ~[storm-core-0.9.3.jar:0.9.3]
  at clojure.lang.AFn.run(AFn.java:24) ~[clojure-1.5.1.jar:na]
  at java.lang.Thread.run(Thread.java:853) [na:1.7.0]
Caused by java.io.StreamCorruptedExceptionL invalid stream header: 00000000
  at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:885)
  at java.io.ObjectInputStream.<init>(ObjectInputStream.java:348)
  at backtype.storm.serialization.DefaultSerializationDelegate.deserialized(DefaultSerializationDelegate.java:51)
  ... 23 common frames omitted
2015-04-29T10:36:34.096+0000 b.s.util [ERROR] Halting process: ("Error when processing an event")
java.lang.RuntimeException: ("Error when processing an event")
  at backtype.storm.util$exit_process_BANG_.doInvoke(util.clj:325)
  at clojure.lang.RestFn.invoke(RestFn.java:423)
  at backtype.storm.event$event_manager$fn__2467.invoke(event.clj:48)
  at clojure.lang.AFn.run(AFn.java:24)
  at java.lang.Thread.run(Thread.java:853)
java.lang.RuntimeException:java.io.StreamCorruptedException:invalid stream header:00000000
在backtype.storm.serialization.DefaultSerializationDelegate.deserialize(DefaultSerializationDelegate.java:56)~[storm-core-0.9.3.jar:0.9.3]
反序列化(utils.java:89)~[storm-core-0.9.3.jar:0.9.3]
在backtype.storm.utils.LocalState.deserializeLatestVersion(LocalState.java:65)~[storm-core-0.9.3.jar:0.9.3]
在backtype.storm.utils.LocalState.snapshot(LocalState.java:47)~[storm-core-0.9.3.jar:0.9.3]
在backtype.storm.utils.LocalState.get(LocalState.java:72)~[storm-core-0.9.3.jar:0.9.3]
在backtype.storm.daemon.supervisor$read\u worker\u heartbeat.invoke.(supervisor.clj:96)~[storm-core-0.9.3.jar:0.9.3]
在backtype.storm.daemon.supervisor$read\u worker\u heartbeats$iter\uuuuuu3992\uuuuu3996$fn\uuuu3997.invoke(supervisor.clj:109)~[storm-core-0.9.3.jar:0.9.3]
在clojure.lang.LazySeq.sval(LazySeq.java:42)~[clojure-1.5.1.jar:na]
在clojure.lang.LazySeq.seq(LazySeq.java:60)~[clojure-1.5.1.jar:na]
在clojure.lang.RT.seq(RT.java:484)~[clojure-1.5.1.jar:na]
在clojure.core$seq.invoke(core.clj:133)~[clojure-1.5.1.jar:na]
在clojure.core$dorun.invoke(core.clj:2780)~[clojure-1.5.1.jar:na]
在clojure.core$doall.invoke(core.clj:2796)~[clojure-1.5.1.jar:na]
在backtype.storm.daemon.supervisor$read\u worker\u heartbeats.invoke(supervisor.clj:108)~[storm-core-0.9.3.jar:0.9.3]
在backtype.storm.daemon.supervisor$read\u allocated\u workers.invoke(supervisor.clj:125)~[storm-core-0.9.3.jar:0.9.3]
在backtype.storm.daemon.supervisor$sync_processs.invoke(supervisor.clj:230)~[storm-core-0.9.3.jar:0.9.3]
在clojure.lang.Afn.applytoheloper(Afn.java:161)~[clojure-1.5.1.jar:na]
在clojure.lang.AFn.applyTo(AFn.java:151)~[clojure-1.5.1.jar:na]
在clojure.core$apply.invoke(core.clj:619)~[clojure-1.5.1.jar:na]
在clojure.core$partial$fn_u4190.doInvoke(core.clj:2396)~[clojure-1.5.1.jar:na]
在clojure.lang.RestFn.invoke(RestFn.java:397)~[clojure-1.5.1.jar:na]
在backtype.storm.event$event\u manager$fn\u 2467.invoke(event.clj:40)~[storm-core-0.9.3.jar:0.9.3]
在clojure.lang.AFn.run(AFn.java:24)~[clojure-1.5.1.jar:na]
在java.lang.Thread.run(Thread.java:853)[na:1.7.0]
由java.io.StreamCorruptedExceptionL引起的无效流头:00000000
位于java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:885)
位于java.io.ObjectInputStream。(ObjectInputStream.java:348)
反序列化(DefaultSerializationDelegate.java:51)
... 省略23个公共帧
2015-04-29T10:36:34.096+0000 b.s.util[错误]停止处理:(“处理事件时出错”)
java.lang.RuntimeException:(“处理事件时出错”)
在backtype.storm.util$exit\u process\u BANG\u.doInvoke(util.clj:325)
位于clojure.lang.RestFn.invoke(RestFn.java:423)
在backtype.storm.event$event\u manager$fn\u 2467.invoke处(event.clj:48)
在clojure.lang.AFn.run(AFn.java:24)
运行(Thread.java:853)
我猜这个错误与分配给主管的数据有关,而这些数据现在已损坏。处理损坏数据的最佳方法是什么?我是新的风暴,只知道它的基本信息

风暴0.9.3
Java-IBMJ9VM(Build2.7,JRE1.7.0LinuxPPC64-64)

因此在worker目录下有文件。这些文件已损坏,我必须删除workers目录下的所有内容。然后我重新启动了管理器,它又开始工作了。

因此在worker目录下有一些文件。这些文件已损坏,我必须删除workers目录下的所有内容。然后我重新启动了管理器,它又开始工作了。

因此在worker目录下有一些文件。这些文件已损坏,我必须删除workers目录下的所有内容。然后我重新启动了管理器,它又开始工作了。

因此在worker目录下有一些文件。这些文件已损坏,我必须删除workers目录下的所有内容。然后我重新启动了管理器,它又开始工作了。

只是为了补充一点信息

conf/storm.yaml
中,您将获得
storm.local.dir
的位置。对我来说,它被设置为
/var/storm
。在这个目录中,你会发现工人心跳,风暴距离文件


尝试停止storm supervisor,删除
workers
目录中的所有数据,然后重新启动该supervisor。如果这没有帮助,请尝试删除
storm.local.dir
中的所有文件。

只是为了添加更多信息

conf/storm.yaml
中,您将获得
storm.local.dir
的位置。对我来说,它被设置为
/var/storm
。在这个目录中,你会发现工人心跳,风暴距离文件


尝试停止storm supervisor,删除
workers
目录中的所有数据,然后重新启动该supervisor。如果这没有帮助,请尝试删除
storm.local.dir
中的所有文件。

只是为了添加更多信息

conf/storm.yaml
中,您将获得
storm.local.dir
的位置。对我来说,它被设置为
/var/storm
。在这个目录中,你会发现工人心跳,风暴距离文件


尝试停止storm supervisor,删除
workers
目录中的所有数据,然后重新启动该supervisor。如果这没有帮助,请尝试删除
storm.local.dir
中的所有文件。

只是为了添加更多信息

在您的
conf/storm.yaml
中,您将获得您的
storm.local.dir