title: Hadoop+HBase cluster on windows: winutils not found
body: <p>I'm trying to set up a fully-distributed 4-node dev cluster with Hadoop 2.20 and HBase 0.98 on Windows. I've built Hadoop on Windows successfully, and more recently, also build HBase on Windows. </p>
  
  <p>We have successfully ran the wordcount example from the Hadoop installation guide, as well as a custom WebHDFS job. As HBase fully-distributed on Windows isn't supported yet, I'm running HBase under cygwin.</p>
  
  <p>When trying to start hbase from my master (./bin/start-hbase.sh), I get the following error:</p>
  
  <pre><code>2014-04-17 16:22:08,599 ERROR [main] util.Shell: Failed to locate the winutils binary in the hadoop binary path
  java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
      at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:278)
      at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:300)
      at org.apache.hadoop.util.Shell.&lt;clinit&gt;(Shell.java:293)
      at org.apache.hadoop.util.StringUtils.&lt;clinit&gt;(StringUtils.java:76)
      at org.apache.hadoop.conf.Configuration.getStrings(Configuration.java:1514)
      at org.apache.hadoop.hbase.zookeeper.ZKConfig.makeZKProps(ZKConfig.java:113)
      at org.apache.hadoop.hbase.zookeeper.ZKServerTool.main(ZKServerTool.java:46)
  </code></pre>
  
  <p>Looking at the Shell.java source, what is here set as null, seems to be the HADOOP_HOME environment variable. With hadoop under D:/hadoop, and HBase under cygwin root at C:/cygwin/root/usr/local/hbase, the cygwin $HADOOP_HOME variable is /cygdrive/d/hadoop/, and the Windows system environment variable %HADOOP_HOME% is D:\hadoop . Seems to me like with those two variables, the variable should be found correctly...</p>
  
  <p>Also potentially relevant: I'm running Windows Server 2012 x64.</p>
  
  <p>Edit: I have verified that there actually is a winutils.exe in D:\hadoop\bin\ .</p>