title: Is it possible to run Hadoop jobs (like the WordCount sample) in the local mode on Windows without Cygwin?
body: <p>I have Windows 7, Java 8, Maven and Eclipse.
  I've created a Maven project and used almost exactly the same code as <a href="https://github.com/alexcpn/WordCountHadoop2" rel="nofollow">here</a>. </p>
  
  <p>It's just a simple "word count" sample.
  I try to launch the "driver" program from Eclipse, I provide command line arguments (the input file and the output directory) and get the following error:</p>
  
  <pre><code>Exception in thread "main" java.lang.NullPointerException   at
  java.lang.ProcessBuilder.start(ProcessBuilder.java:1012)    at
  org.apache.hadoop.util.Shell.runCommand(Shell.java:404)     at
  org.apache.hadoop.util.Shell.run(Shell.java:379)    at
  org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:589) at
  org.apache.hadoop.util.Shell.execCommand(Shell.java:678)    at
  org.apache.hadoop.util.Shell.execCommand(Shell.java:661)    at
  org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:639) at
  org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:435) at
  org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:277) at
  org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:125) at
  org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:344) at
  org.apache.hadoop.mapreduce.Job$10.run(Job.java:1268)   at
  org.apache.hadoop.mapreduce.Job$10.run(Job.java:1265)   at
  java.security.AccessController.doPrivileged(Native Method)  at
  javax.security.auth.Subject.doAs(Subject.java:422)  at
  org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) at
  org.apache.hadoop.mapreduce.Job.submit(Job.java:1265)   at
  org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1286)    at
  misc.projects.hadoop.exercises.WordCountDriverApp.main(WordCountDriverApp.java:29)
  </code></pre>
  
  <p>The failing line (WordCountDriverApp.java:29) contains the command to launch the job:</p>
  
  <p><code>job.waitForCompletion(true)</code></p>
  
  <p>I want to make it work and therefore I want to understand something:</p>
  
  <p>Do I have to provide any hdfs-site.xml, yarn-site.xml, ... all this, if I want just the local mode (without any cluster)?
  I don't have these XML config files now. As far as I remember, the defaults are all OK for the local mode, maybe I am wrong.</p>
  
  <p>Is it possible at all under Windows (to launch any Hadoop jobs whatsoever) or the whole Hadoop thing is Linux-only?</p>
  
  <p>P.S.:
  The Hadoop dependency is the following:</p>
  
  <pre><code>&lt;dependency&gt;
      &lt;groupId&gt;org.apache.hadoop&lt;/groupId&gt;
      &lt;artifactId&gt;hadoop-client&lt;/artifactId&gt;
      &lt;version&gt;2.2.0&lt;/version&gt;
      &lt;scope&gt;provided&lt;/scope&gt;
  &lt;/dependency&gt;
  </code></pre>