java - 启动 Apache Storm Supervisor 时出错

标签 java apache-storm

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

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)

我猜测此错误与分配给主管的数据现在已损坏有关。处理损坏数据的最佳方法是什么?我是 Storm 的新手,只了解它的基本信息。

Storm 0.9.3 Java - IBM J9 VM(内部版本 2.7,JRE 1.7.0 Linux PPC64-64)

最佳答案

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

关于java - 启动 Apache Storm Supervisor 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29942117/

相关文章:

java - “maven test”仅适用于 Java

twitter - Apache Flink与Twitter Heron?

java - 在/usr/lib/中找不到jni.h

java - 读取输入消息时出现 I/O 错误;嵌套异常是 java.io.IOException : Stream closed

java - Maven 肯定火 : Running tests in specified dependencies

java - 如何获得最终的包名?

java - 如何使用二维数组创建方法

java - 使用 Redis 运行 Storm 时出错 : java. lang.NoClassDefFoundError: Lredis/clients/jedis/Jedis

java - 如何在滑动窗口中获取当前窗口时间?

apache-spark - 流处理中的非确定性函数