某天线上JStorm集群某台supervisor物理故障重启之后,进入/home/admin/jstorm/bin执行
./start.sh
发现supervisor的正常启动,nimbus.log的日志如下
[ERROR 2018-01-18 11:51:44 Supervisor:220 run main] Failed to start supervisor
java.lang.RuntimeException: java.io.EOFException
at backtype.storm.utils.Utils.deserialize(Utils.java:124)
at backtype.storm.utils.Utils.deserialize(Utils.java:131)
at backtype.storm.utils.LocalState.snapshot(LocalState.java:28)
at backtype.storm.utils.LocalState.get(LocalState.java:40)
at com.alibaba.jstorm.daemon.supervisor.Supervisor.mkSupervisor(Supervisor.java:92)
at com.alibaba.jstorm.daemon.supervisor.Supervisor.run(Supervisor.java:206)
at com.alibaba.jstorm.daemon.supervisor.Supervisor.main(Supervisor.java:239)
Caused by: java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2325)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2794)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:801)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
at backtype.storm.utils.Utils.deserialize(Utils.java:118)
... 6 more
解决办法:进入conf/storm.yaml找到 storm.local.dir,将该目录下supervisor和workers这两个目录清空