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

Reply via email to