I had this same error last week, and fixed it by installing unzip, but the difference is I was installing on CentOS VMs on my windows machine.
Do you have unzip installed on the Supervisor machine? It sounds to me that you have it installed on Nimbus. BTW, AFAIK, Windows is not supported. From: Alexander S. Klimov [mailto:[email protected]] Sent: December-09-13 7:54 PM To: [email protected] Subject: unzip installation on windows Storm worker Hi guys, I'm trying to setup Storm worker on Windows system. I've installed 'unzip' utility from this distributive: http://gnuwin32.sourceforge.net/packages/unzip.htm "unzip" is registered on the machine on PATH env variable: C:\Distr\storm-0.8.1>unzip UnZip 5.51 of 22 May 2004, by Info-ZIP. Maintained by C. Spieler. Send bug reports using http://www.info-zip.org/zip-bug.html; see README for details. Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir] Default action is to extract files in list, except those in xlist, to exdir; file[.zip] may be a wildcard. -Z => ZipInfo mode ("unzip -Z" for usage). -p extract files to pipe, no messages -l list files (short format) -f freshen existing files, create none -t test compressed archive data -u update files, create if necessary -z display archive comment -x exclude files that follow (in xlist) -d extract files into exdir modifiers: -q quiet mode (-qq => quieter) -n never overwrite existing files -a auto-convert any text files -o overwrite files WITHOUT prompting -aa treat ALL files as text -j junk paths (do not make directories) -v be verbose/print version info -C match filenames case-insensitively -L make (some) names lowercase -$ label removables (-$$ => fixed disks) -V retain VMS version numbers -X restore ACLs (-XX => use privileges) -s spaces in filenames => '_' -M pipe through "more" pager Examples (see unzip.txt for more info): unzip data1 -x joe => extract all files except joe from zipfile data1.zip unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer However, when I try to run Worker/Supervisor node (after I have uploaded topology with some jar package) - it fails with the error: 10384 [Thread-2] INFO backtype.storm.daemon.supervisor - Downloading code for storm id TestTopology-1-1386629864 from D:\data/nimbus/stormdist/TestTopology-1-1386629864 10684 [Thread-2] ERROR backtype.storm.event - Error when processing event java.io.IOException: Cannot run program "unzip" (in directory "."): CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041) at java.lang.Runtime.exec(Runtime.java:617) at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58) at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:254) at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:319) at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:160) at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:147) at backtype.storm.util$exec_command_BANG_.invoke(util.clj:324) at backtype.storm.util$extract_dir_from_jar.invoke(util.clj:329) at backtype.storm.daemon.supervisor$fn__4767.invoke(supervisor.clj:394) at clojure.lang.MultiFn.invoke(MultiFn.java:172) at backtype.storm.daemon.supervisor$mk_synchronize_supervisor$this__4692.invoke(supervisor.clj:293) at backtype.storm.event$event_manager$fn__2484.invoke(event.clj:24) at clojure.lang.AFn.run(AFn.java:24) at java.lang.Thread.run(Thread.java:724) Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.<init>(ProcessImpl.java:376) at java.lang.ProcessImpl.start(ProcessImpl.java:136) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022) ... 14 more Does anyone has an idea, what I setup wrong here? Where should I look to fix the issue? Here I found similar problem: http://stackoverflow.com/questions/17351065/storm-streaming-cannot-run-program-unzip-in-directory But the suggested solution isn't clear to me. What is "user-defined Storm Lib"? How can I control how Storm deploys code there or into some other folder? Thanks, Alex
