Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在运行多语言拓扑时,如何配置Apache Storm以查找Python?_Java_Python_Apache Storm - Fatal编程技术网

Java 在运行多语言拓扑时,如何配置Apache Storm以查找Python?

Java 在运行多语言拓扑时,如何配置Apache Storm以查找Python?,java,python,apache-storm,Java,Python,Apache Storm,我正在尝试从风暴中运行示例WordCount拓扑 我创建了一个新的Storm项目,并通过Maven将Storm作为依赖项添加。我能够成功地运行惊呼本体论,因此Storm总体上起作用。我已安装python: zachary:~ zachary$ python --version Python 2.7.6 zachary:~ zachary$ which python /usr/bin/python 我已将Python脚本添加到新项目中的multilang/resources目录中。我已尝试

我正在尝试从风暴中运行示例
WordCount
拓扑

我创建了一个新的Storm项目,并通过Maven将Storm作为依赖项添加。我能够成功地运行
惊呼本体论
,因此Storm总体上起作用。我已安装python:

zachary:~ zachary$ python --version

Python 2.7.6

zachary:~ zachary$ which python

/usr/bin/python
我已将Python脚本添加到新项目中的
multilang/resources
目录中。我已尝试将
多语言
资源
以及其中一个/或作为源路径添加到我的项目中,但我始终会遇到以下错误:

6239 [Thread-20-split] ERROR b.s.d.executor - 

java.lang.RuntimeException: Error when launching multilang subprocess



at backtype.storm.utils.ShellProcess.launch(ShellProcess.java:68) ~[storm-core-0.10.0.jar:0.10.0]

at backtype.storm.task.ShellBolt.prepare(ShellBolt.java:117) ~[storm-core-0.10.0.jar:0.10.0]

at backtype.storm.daemon.executor$fn__5694$fn__5707.invoke(executor.clj:757) ~[storm-core-0.10.0.jar:0.10.0]

at backtype.storm.util$async_loop$fn__545.invoke(util.clj:477) [storm-core-0.10.0.jar:0.10.0]

at clojure.lang.AFn.run(AFn.java:22) [clojure-1.6.0.jar:?]

at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]

Caused by: java.io.IOException: Cannot run program "python" (in directory "/var/folders/rr/tb1q5lv93sldld20pln730kr0000gn/T/ad72dd44-af9b-4849-8400-b1a2596e6f37/supervisor/stormdist/word-count-1-1456069567/resources"): error=2, No such file or directory

at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) ~[?:1.8.0_45]

at backtype.storm.utils.ShellProcess.launch(ShellProcess.java:61) ~[storm-core-0.10.0.jar:0.10.0]

... 5 more

Caused by: java.io.IOException: error=2, No such file or directory

at java.lang.UNIXProcess.forkAndExec(Native Method) ~[?:1.8.0_45]

at java.lang.UNIXProcess.<init>(UNIXProcess.java:248) ~[?:1.8.0_45]

at java.lang.ProcessImpl.start(ProcessImpl.java:134) ~[?:1.8.0_45]

at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ~[?:1.8.0_45]

at backtype.storm.utils.ShellProcess.launch(ShellProcess.java:61) ~[storm-core-0.10.0.jar:0.10.0]

... 5 more
6239[Thread-20-split]错误b.s.d.执行器-
java.lang.RuntimeException:启动多语言子进程时出错
在backtype.storm.utils.ShellProcess.launch(ShellProcess.java:68)~[storm-core-0.10.0.jar:0.10.0]
在backtype.storm.task.ShellBolt.prepare(ShellBolt.java:117)~[storm-core-0.10.0.jar:0.10.0]
在backtype.storm.daemon.executor$fn_u5694$fn_u5707.invoke(executor.clj:757)~[storm-core-0.10.0.jar:0.10.0]
在backtype.storm.util$async\u循环$fn\uu 545.invoke(util.clj:477)[storm-core-0.10.0.jar:0.10.0]
在clojure.lang.AFn.run(AFn.java:22)[clojure-1.6.0.jar:?]
在java.lang.Thread.run(Thread.java:745)[?:1.8.0_45]
原因:java.io.IOException:无法运行程序“python”(在目录/var/folders/rr/tb1q5lv93sldld20pln730kr0000gn/T/ad72dd44-af9b-4849-8400-b1a2596e6f37/supervisor/stormdist/word-count-1-1456069567/resources中):错误=2,没有这样的文件或目录
在java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)~[?:1.8.0_45]
在backtype.storm.utils.ShellProcess.launch(ShellProcess.java:61)~[storm-core-0.10.0.jar:0.10.0]
... 还有5个
原因:java.io.IOException:error=2,没有这样的文件或目录
在java.lang.UNIXProcess.forkAndExec(本机方法)~[?:1.8.0_45]
在java.lang.UNIXProcess(UNIXProcess.java:248)~[?:1.8.0_45]
在java.lang.ProcessImpl.start(ProcessImpl.java:134)~[?:1.8.0_45]
在java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)~[?:1.8.0_45]
在backtype.storm.utils.ShellProcess.launch(ShellProcess.java:61)~[storm-core-0.10.0.jar:0.10.0]
... 还有5个
我已经搜索过了,这似乎是一个常见的错误,与在项目中添加
multilang/resources
作为源路径有关,但我已经这样做了


有什么想法吗?

也许这有帮助:谢谢你的链接。我目前正在尝试设置
env
,就像您在该线程中所做的那样。你能解释一下为什么我得到的
方法setEnv(Map)对于WordCountTopology.splitSession类型是未定义的吗?我的
splitsense
扩展了
ShellBolt
,我在Github中看到了
setEnv
,但在这些中没有看到。我对风暴代码设置的误解?不知道为什么
setEnv(Map)
是“未定义的”。。。它应该在那里。是的,那是我现在关注的地方,非常奇怪。我相信是在7月份推出的
setEnv
公共关系
0.10.0
从那时开始发布,my
pom.xml
要求使用范围
compile
的版本
0.10.0
。类似地,在我的项目中,我无法访问
shellspoot
实例上的
setEnv
。实际上,它是否可能没有进入0.10.0版本?如果0.10.0的测试版是在6月份,而setEnv的PR是在7月份,那么它会错过0.10.0版本,是吗?由于我的项目依赖于maven依赖项,我必须自己构建并包含Storm,以便能够使用
setEnv
?也许这会有所帮助:谢谢你的链接。我目前正在尝试设置
env
,就像您在该线程中所做的那样。你能解释一下为什么我得到的
方法setEnv(Map)对于WordCountTopology.splitSession类型是未定义的吗?我的
splitsense
扩展了
ShellBolt
,我在Github中看到了
setEnv
,但在这些中没有看到。我对风暴代码设置的误解?不知道为什么
setEnv(Map)
是“未定义的”。。。它应该在那里。是的,那是我现在关注的地方,非常奇怪。我相信是在7月份推出的
setEnv
公共关系
0.10.0
从那时开始发布,my
pom.xml
要求使用范围
compile
的版本
0.10.0
。类似地,在我的项目中,我无法访问
shellspoot
实例上的
setEnv
。实际上,它是否可能没有进入0.10.0版本?如果0.10.0的测试版是在6月份,而setEnv的PR是在7月份,那么它会错过0.10.0版本,是吗?由于我的项目依赖于maven依赖项,我必须自己构建并包含Storm才能使用
setEnv