title: Hadoop Streaming - Unable to find file error
body: <p>I am trying to run a hadoop-streaming python job.  </p>
  
  <pre><code>bin/hadoop jar contrib/streaming/hadoop-0.20.1-streaming.jar 
  -D stream.non.zero.exit.is.failure=true 
  -input /ixml 
  -output /oxml 
  -mapper scripts/mapper.py 
  -file scripts/mapper.py 
  -inputreader "StreamXmlRecordReader,begin=channel,end=/channel" 
  -jobconf mapred.reduce.tasks=0 
  </code></pre>
  
  <p>I made sure mapper.py has all the permissions. It errors out saying</p>
  
  <pre><code>Caused by: java.io.IOException: Cannot run program "mapper.py":     
  error=2, No such file or directory
      at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
      at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:214)
  ... 19 more
  Caused by: java.io.IOException: error=2, No such file or directory
      at java.lang.UNIXProcess.forkAndExec(Native Method)
      at java.lang.UNIXProcess.(UNIXProcess.java:53)
      at java.lang.ProcessImpl.start(ProcessImpl.java:91)
      at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
  </code></pre>
  
  <p>I tried copying mapper.py to hdfs and give the same hdfs://localhost/mapper.py link, that does not work too!  Any thoughts on how to fix this bug?.</p>