当前位置:   article > 正文

java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset

java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset

一.问题描述:windows本地调试Hadoop程序时报错一.问题描述:windows本地调试Hadoop程序一.问题描述:windows本地调试Hadoop程序时报错

错误信息:

  1. HADOOP_HOME and hadoop.home.dir are unset. //通过本地搭建hadoop环境解决
  2. org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z //通过下载winutils解决

其原因是需要在windows本地搭建Hadoop环境,下载winutils文件,并将hadoop-2.8.4包内的bin文件替换,将下载文件中hadoop.dll放到C:\Windows\System32下
二.解决过程如下:
1.下载hadoop,去官网下载对应的hadoop版本,我在linux集群搭建的是hadoop-2.8.4,因此将hadoop-2.8.4下载到windows本地

  • Hadoop下载地址
  • 可以通过镜像下载

    hadoop下载

     

    2.解压Hadoop到本地目录:

    解压Hadoop

     

    3.配置环境变量:
    (1)新建HADOOP_HOME环境变量:
    HADOOP_HOME的值为解压的hadoop-2.8.4的路径

HADOOP_HOME环境变量

 

(2)添加Path:
Path新增:

%HADOOP_HOME%\bin

新增Path


4.修改配置文件:在hadoop-2.8.4\etc\hadoop目录下
(1)修改hadoop-env.cmd,改为自己本机的设置jdk目录

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_221

hadoop-env.cmd设置

5.下载winutils的windows版本:
下载地址:https://github.com/steveloughran/winutils

  • 点击下载

     

    下载winutils

  • 解压

    解压

     

    因为我自己用的hadoop2.8.4所以我就近用的2.8.3

    选择2.8.3

  • 将hadoop-2.8.3下bin文件夹与本地hadoop-2.8.4下的bin文件夹替换

    替换

winutils.exe文件

  • 将替换后的hadoop-2.8.4中的bin文件夹下的hadoop.dll拷贝到C:\Windows\System32目录下

拷贝

6.问题解决!



作者:Movle
链接:https://www.jianshu.com/p/a65a95108620
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/976618
推荐阅读
相关标签
  

闽ICP备14008679号