关于运行Python时在风暴中使用Multi-Lang的问题(WordCountTopology)

时间:2017-08-06 22:12:25

标签: python apache-storm

我试图在风暴本地模式下运行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和一些我自己的代码,它不需要多语言支持,它就像一个魅力。

我无法理解为什么暴风雨中的多种支持无效。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我的问题已经解决了。我只是想回复让别人知道这个问题。我使用的风暴版本1.0.3有问题,修复方法如下所述。

https://issues.apache.org/jira/browse/STORM-2450

我将我的版本升级到其中一个修复版本,即1.0.4,它运行正常。