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

Java技术 潘老师 6个月前 (04-22) 920 ℃ (0) 扫码查看

我们在使用Java API测试从Liunx上HDFS中下载文件到本地windows系统时,发现会包如下错误:

Exception in thread “main” java.lang.RuntimeException: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblems
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:736)

原因:

日志描述内容很清楚,没有设置 HADOOP_HOMEhadoop.home.dir 两项。这两项主要是干嘛的呢?是配置在本地环境变量中的 Hadoop 地址,而我们本地并没有搭建hadoop环境,因此出错。但是由于我们是远程连接Linux上的Hadoop集群,则完全不需要再下载安装Windows版本的Hadoop
解决:

本地远程连接Hadoop系统时需要在本地配置相关的Hadoop变量,主要包括hadoop.dll winutils.exe 等。
1)下载winutils:https://github.com/steveloughran/winutils
注:若无相同的版本,可选择就近的版本下载使用,我这里是下载的hadoop-3.0.0

2)将环境变量HADOOP_HOME设置为指向包含WINUTILS.EXE的bin目录上方的目录
3)将文件夹中hadoop.dll文件复制粘贴进C:\Windows\System32
然后再去执行发现问题解决。


版权声明:本站所有文章,如无特殊说明,均为本站原创。全部下载资源版权归原作者所有。任何个人或组织,若未征得本站同意,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。若需转载请注明文章来源。
本文链接:解决java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】

您也可以 微信登录 来发表评论!