我试图在风暴本地模式下运行WordCountTopology,然后运行我自己的应用程序,我无法运行它。我不断收到以下错误。我已经验证splitsentence.py
文件保存在multilang/resources
目录中的examples/storm-starter
目录中。
5729 [Thread-22-split-executor[7 7]] ERROR o.a.s.util - Async loop died!
java.lang.RuntimeException: org.apache.storm.multilang.NoOutputException: Pipe to subprocess seems to be broken! No output read.
Serializer Exception:
python: can't open file 'splitsentence.py': [Errno 2] No such file or directory
at org.apache.storm.utils.ShellProcess.launch(ShellProcess.java:91) ~[storm-core-1.0.3.jar:1.0.3]
at org.apache.storm.task.ShellBolt.prepare(ShellBolt.java:131) ~[storm-core-1.0.3.jar:1.0.3]
at org.apache.storm.daemon.executor$fn__4973$fn__4986.invoke(executor.clj:791) ~[storm-core-1.0.3.jar:1.0.3]
at org.apache.storm.util$async_loop$fn__557.invoke(util.clj:482) [storm-core-1.0.3.jar:1.0.3]
at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]
5734 [Thread-30-spout-executor[9 9]] INFO o.a.s.d.executor - Opening spout spout:(9)
5734 [Thread-28-split-executor[6 6]] ERROR o.a.s.util - Async loop died!
我在安装过程中遵循了说明,并使用maven成功构建了我的包。我的风暴版本是1.0.3,我的python版本是2.7.13。我运行了ExclamationTopology和一些我自己的代码,它不需要多语言支持,它就像一个魅力。
我无法理解为什么暴风雨中的多种支持无效。非常感谢任何帮助。
答案 0 :(得分:0)
我的问题已经解决了。我只是想回复让别人知道这个问题。我使用的风暴版本1.0.3有问题,修复方法如下所述。
https://issues.apache.org/jira/browse/STORM-2450
我将我的版本升级到其中一个修复版本,即1.0.4,它运行正常。