storm supervisor启动报错java.lang.RuntimeException: java.io.EOFException

storm因机器断电或其他异常导致的supervisor意外终止,再次启动时报错:

    1. 2013-09-24 09:15:44,361 INFO  [main] daemon.supervisor (NO_SOURCE_FILE:invoke(0)) - Starting supervisor with id 74332654-8925-48a1-b67b-7eacaa52aeca at host hadoop02  

    2. 2013-09-24 09:15:45,246 ERROR [Thread-2] storm.event (NO_SOURCE_FILE:invoke(0)) - Error when processing event  

    3. java.lang.RuntimeException: java.io.EOFException  

    4.         at backtype.storm.utils.Utils.deserialize(Utils.java:68)  

    5.         at backtype.storm.utils.LocalState.snapshot(LocalState.java:28)  

    6.         at backtype.storm.utils.LocalState.get(LocalState.java:39)  

    7.         at backtype.storm.daemon.supervisor$sync_processes.invoke(supervisor.clj:187)  

    8.         at clojure.lang.AFn.applyToHelper(AFn.java:161)  

    9.         at clojure.lang.AFn.applyTo(AFn.java:151)  

    10.         at clojure.core$apply.invoke(core.clj:603)  

    11.         at clojure.core$partial$fn__4070.doInvoke(core.clj:2343)  

    12.         at clojure.lang.RestFn.invoke(RestFn.java:397)  

    13.         at backtype.storm.event$event_manager$fn__3058.invoke(event.clj:24)  

    14.         at clojure.lang.AFn.run(AFn.java:24)  

    15.         at java.lang.Thread.run(Thread.java:662)  

    16. Caused by: java.io.EOFException  

    17.         at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2284)  

    18.         at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2753)  

    19.         at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:777)  

    20.         at java.io.ObjectInputStream.<init>(ObjectInputStream.java:277)  

    21.         at backtype.storm.utils.Utils.deserialize(Utils.java:63)  

    22.         ... 11 more  

    23. 2013-09-24 09:15:45,260 INFO  [Thread-2] storm.util (NO_SOURCE_FILE:invoke(0)) - Halting process: ("Error when processing an event")  

 

解决办法:

删除storm.yaml中配置的storm.local.dir指向的目录中的supervisor和workers两个目录,再次启动即可。

 

你可能感兴趣的:(storm supervisor启动报错java.lang.RuntimeException: java.io.EOFException)