加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

win7运行mapreduce报错Could not locate executable null\bi

发布时间:2020-12-13 21:21:44 所属栏目:Windows 来源:网络整理
导读:我们在本地(windows)运行mapreduce或者habase程序时,可能会出现如下错误: Could not locate executable nullbinwinutils.exe in the Hadoop binaries.Failed to locate the winutils binary in the hadoop binary path 这是因为hadoop主要是在Linux环
我们在本地(windows)运行mapreduce或者habase程序时,可能会出现如下错误:
Could not locate executable nullbinwinutils.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_HOMEbin 即可。

最后,需要重启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 Fileshadoop-2.5.1");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读