问题
I have a Storm cluster with 2 nodes and 1 ZooKeeper. One of the worker dies because of the following error. Does any one have an idea on why stormconf.ser file is getting deleted?
I am using 0.9.2 Storm and 3.4.6 ZK version.
o.a.c.f.s.ConnectionStateManager [INFO] State change: CONNECTED
2015-01-31 01:23:06 o.a.c.f.s.ConnectionStateManager [WARN] There are no ConnectionStateListeners registered.
2015-01-31 01:23:07 b.s.d.worker [ERROR] Error on initialization of server mk-worker
java.io.FileNotFoundException: File '/home/Programs/apache-storm-0.9.2-incubating/stormtmp/supervisor/stormdist/storm-topology-1-1422602934/stormconf.ser' does not exist
at org.apache.commons.io.FileUtils.openInputStream(FileUtils.java:299) ~[commons-io-2.4.jar:2.4]
at org.apache.commons.io.FileUtils.readFileToByteArray(FileUtils.java:1763) ~[commons-io-2.4.jar:2.4]
at backtype.storm.config$read_supervisor_storm_conf.invoke(config.clj:212) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
at backtype.storm.daemon.worker$worker_data.invoke(worker.clj:180) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
at backtype.storm.daemon.worker$fn__5940$exec_fn__1396__auto____5941.invoke(worker.clj:356) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
at clojure.lang.AFn.applyToHelper(AFn.java:185) [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:617) ~[clojure-1.5.1.jar:na]
at backtype.storm.daemon.worker$fn__5940$mk_worker__5996.doInvoke(worker.clj:347) [storm-core-0.9.2-incubating.jar:0.9.2-incubating]
at clojure.lang.RestFn.invoke(RestFn.java:512) [clojure-1.5.1.jar:na]
at backtype.storm.daemon.worker$_main.invoke(worker.clj:454) [storm-core-0.9.2-incubating.jar:0.9.2-incubating]
at clojure.lang.AFn.applyToHelper(AFn.java:172) [clojure-1.5.1.jar:na]
at clojure.lang.AFn.applyTo(AFn.java:151) [clojure-1.5.1.jar:na]
at backtype.storm.daemon.worker.main(Unknown Source) [storm-core-0.9.2-incubating.jar:0.9.2-incubating]
2015-01-31 01:23:07 b.s.util [INFO] Halting process: ("Error on initialization")
回答1:
That was known issue in the old releases of Storm. Usually what you need to do is to clear the directories that Storm is using. Check for the name of those files in Storm's configuration file conf/storm.yaml
.
回答2:
Just to make it clear: this issue appears to be fixed in Storm 0.9.4.
Details in the issue linked by @tousif: https://issues.apache.org/jira/browse/STORM-130
回答3:
Downgrade the version of hdp to 2.5 or less Use storm verion 1.0.1 It solved the issue... clearing the directory is useless idea.
来源:https://stackoverflow.com/questions/28272355/stormconf-ser-doesnt-exist-error-on-worker