微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

win7运行mapreduce报错Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

我们在本地(windows)运行mapreduce或者habase程序时,可能会出现如下错误
Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
Failed to locate the winutils binary in the hadoop binary path

这是因为hadoop主要是在Linux环境上运行的,对windows支持不是特别好。解决方法

1)下载winutils.exe:
GitHub上,有人提供了winutils的windows的版本,项目地址是:https://github.com/srccodes/hadoop-common-2.2.0-bin直接下载此项目的zip包,下载后是文件名是hadoop-common-2.2.0-bin-master.zip,随便解压到一个目录。
或者:

2)设置环境变量:

增加用户变量HADOOP_HOME,值是下载的zip包解压的目录,然后在系统变量path里增加$HADOOP_HOME\bin 即可。

最后,需要重启windows后,再次运行程序即可。

我们在hadoop源码中发现

private static String checkHadoopHome() {

    // first check the Dflag hadoop.home.dir with JVM scope
    String home = System.getProperty("hadoop.home.dir");

    // fall back to the system/user-global env variable
    if (home == null) {
      home = System.getenv("HADOOP_HOME");
    }
     ...
}

如果觉得添加环境变量的步骤操作很繁琐 ,也可以直接在代码加上

System.setProperty("hadoop.home.dir","D:\\Program Files\\hadoop-2.5.1");

原文地址:https://www.jb51.cc/windows/373187.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐