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

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

错误信息:

HADOOP_HOME and hadoop.home.dir are unset.    //通过本地搭建hadoop环境解决

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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值