我正在尝试在 Windows 上使用 Hadoop 2.20 和 HBase 0.98 设置一个完全分布式的 4 节点开发集群。我已经成功地在 Windows 上构建了 Hadoop,最近还在 Windows 上构建了 HBase。
我们已经成功运行了 Hadoop 安装指南中的 wordcount 示例以及自定义 WebHDFS 作业。由于还不支持在 Windows 上完全分布的 HBase,我在 cygwin 下运行 HBase。
尝试从我的 master (./bin/start-hbase.sh) 启动 hbase 时,出现以下错误:
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.<clinit>(Shell.java:293)
at org.apache.hadoop.util.StringUtils.<clinit>(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)
Run Code Online (Sandbox Code Playgroud)
查看Shell.java源码,这里设置为null的,好像是HADOOP_HOME环境变量。使用 D:/hadoop 下的 hadoop,C:/cygwin/root/usr/local/hbase …