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!

Reply via email to