You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by Chris James <ch...@gmail.com> on 2014/03/10 03:47:13 UTC
Error when trying to use multilang in a project built from scratch
(not storm-starter)
Hey there. I'm trying out a storm project built from scratch in Java, but
with a Python bolt. I have everything running with all Java spouts/bolts
just fine, but when I try to incorporate a python bolt I am running into
issues.
I have my project separated into a /storm/ for topologies, /storm/bolts/
for bolts, /storm/spouts for spouts, and /storm/multilang/ for the
multilang wrappers. Right now the only thing in /storm/multilang/ is
storm.py, copied and pasted from the storm-starter project. In my bolts
folder, I have a dummy bolt set up that just prints the tuple. I've
virtually mimicked the storm-starter WordCountTopology example for using a
python bolt, so I think the code is OK and the configuration is the issue.
So my question is simple. What configuration steps do I have to set up so
that my topology knows where to look to find storm.py when I run
super("python", "dummypythonbolt.py")? I noticed an error in the stack
trace claiming that it could not run python (python is definitely on my
path and I use it everyday), and that is looking in a resources folder that
does not exist. Here is the line in question:
Caused by: java.io.IOException: Cannot run program "python" (in directory
"C:\Users\chris\AppData\Local\Temp\67daff0e-7348-46ee-9b62-83f8ee4e431c\supervisor\stormdist\dummy-topology-1-1394418571\resources"):
CreateProcess error=267, The directory name is invalid
A more extensive stack trace is here: http://pastebin.com/6yx97m0M
So once again: what is the configuration step that I am missing to allow my
topology to see storm.py and be able to run multilang spouts/bolts in my
topology?
Thanks!
回复: Error when trying to use multilang in a project built from scratch (not storm-starter)
Posted by Kang Xiao <kx...@gmail.com>.
Hi Chris
The error message “Caused by: java.io.IOException: Cannot run program "python”” showed that python is not in PATH env so it can not be invoked. You may try to specify the full path of python interpreter.
--
Best Regards!
肖康(Kang Xiao,<kxiao.tiger@gmail.com (mailto:kxiao.tiger@gmail.com)>)
Distributed Software Engineer
在 2014年3月10日 星期一,10:47,Chris James 写道:
> Hey there. I'm trying out a storm project built from scratch in Java, but with a Python bolt. I have everything running with all Java spouts/bolts just fine, but when I try to incorporate a python bolt I am running into issues.
>
> I have my project separated into a /storm/ for topologies, /storm/bolts/ for bolts, /storm/spouts for spouts, and /storm/multilang/ for the multilang wrappers. Right now the only thing in /storm/multilang/ is storm.py, copied and pasted from the storm-starter project. In my bolts folder, I have a dummy bolt set up that just prints the tuple. I've virtually mimicked the storm-starter WordCountTopology example for using a python bolt, so I think the code is OK and the configuration is the issue.
>
> So my question is simple. What configuration steps do I have to set up so that my topology knows where to look to find storm.py when I run super("python", "dummypythonbolt.py")? I noticed an error in the stack trace claiming that it could not run python (python is definitely on my path and I use it everyday), and that is looking in a resources folder that does not exist. Here is the line in question:
>
> Caused by: java.io.IOException: Cannot run program "python" (in directory "C:\Users\chris\AppData\Local\Temp\67daff0e-7348-46ee-9b62-83f8ee4e431c\supervisor\stormdist\dummy-topology-1-1394418571\resources"): CreateProcess error=267, The directory name is invalid
>
> A more extensive stack trace is here: http://pastebin.com/6yx97m0M
>
> So once again: what is the configuration step that I am missing to allow my topology to see storm.py and be able to run multilang spouts/bolts in my topology?
>
> Thanks!