I’ve been working with Storm using the Clojure DSL and calling an executable 
using multilang. When I try to use the shell-bolt-spec as described in the 
Clojure DSL page like this: 

(shell-bolt-spec   {"1" :shuffle "2" ["id"]}                 
                           "my_exec"
                           ""
                           ["outfield1" "outfield2"]
                           :p 25)

I get the following error:

Caused by: java.io.IOException: Cannot run program “my_exec" (in directory 
"/var/folders/g1/fgx15lms4118j11pnqgq68jw0000gn/T/000d66ac-fb0a-4d54-a264-2ced651a19d1/supervisor/stormdist/topologytest-5c2e58b5-76ec-4657-9b72-01b318c084a3-1-0/resources"):
 error=2, No such file or directory

When I change the storm-starter WordCountTopology.java for SplitSentence (which 
calls python) to:
 public SplitSentence () {
     super(“my_exec");
 }
and place my_exec in the multilang/resources directory with the other 
storm-starter multilang examples, it works.

I’m trying to determine the best way to shell out to an executable using the 
Clojure DSL, and what modifications, if any, I would need to make to provide 
this functionality. Is there any way to call shell-bolt-spec to launch a single 
shell command executable?

Many thanks,
Frank
________
Frank Moyer | e: [email protected]
 <https://twitter.com/fwmoyer>

Reply via email to