Symptoms: when trying to run a Storm supervisor node it is not listed in cluster. We can see the following error in log:
Error when processing event java.lang.RuntimeException: java.io.EOFException at backtype.storm.utils.Utils.deserialize(Utils.java:69) ~[storm-core-0.9.0.1.jar:na]
Solution worked for me: Stop zookeeper and supervisor, clean data dirs. This will probably not suite the production because of data lost.
Zookeeper server – stop zookeeper. In my case it is located in /opt/zookeeper , so
$ /opt/zookeeper/zkServer.sh stop
Zookeeper server – delete content of data dir. Location of data dir can be picked from zoo.cfg.
Storm supervisor node – clean storm local data on supervisor. Pick the location from Storm log file /opt/storm/logs.supervisor.log searching by “storm.local.dir”
Zookeeper server – start zookeeper:
$ /opt/zookeeper/zkServer.sh start
Storm supervisor node – start Storm supervisor:
$ /opt/storm/bin/storm supervisor
Enjoy! 🙂