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

这篇具有很好参考价值的文章主要介绍了解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 复现错误


今天在运行同事给我的项目,但在项目启动时,报出如下错误:

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.fileNotFoundException(Shell.java:548)
	at org.apache.hadoop.util.Shell.getHadoopHomeDir(Shell.java:569)
	at org.apache.hadoop.util.Shell.getQualifiedBin(Shell.java:592)
	at org.apache.hadoop.util.Shell.<clinit>(Shell.java:689)
	at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:78)
	at org.apache.hadoop.conf.Configuration.getBoolean(Configuration.java:1665)
	at org.apache.hadoop.security.SecurityUtil.setConfigurationInternal(SecurityUtil.java:104)
	at org.apache.hadoop.security.SecurityUtil.<clinit>(SecurityUtil.java:88)
	at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:316)
	at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:365)
	at com.test.main(GetHudiSchemaByMetaStore.java:25)
Caused by: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.
	at org.apache.hadoop.util.Shell.checkHadoopHomeInner(Shell.java:468)
	at org.apache.hadoop.util.Shell.checkHadoopHome(Shell.java:439)
	at org.apache.hadoop.util.Shell.<clinit>(Shell.java:516)
	... 7 more

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

2. 分析错误


通过java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.错误可知,这是未设置HADOOP_HOME hadoop.home.dir

HADOOP_HOMEhadoop.home.dir主要是干嘛的呢?是配置在本地环境变量中的Hadoop地址

那么需要下载Windows版本的Hadoop来设置么?如果是远程连接Linux上的Hadoop集群,则完全不需要再下载安装Windows版本的Hadoop!!!

本地远程连接Hadoop系统时需要在本地配置相关的Hadoop变量,主要包括hadoop.dllwinutils.exe等。

【注意】由于hadoop主要基于linux编写,winutil.exe主要用于模拟linux下的目录环境。

Hadoopwindows下运行或调用远程Hadoop集群的时候,需要该辅助程序才能运行。winutilsWindows中的二进制文件,适用于不同版本的Hadoop系统并构建在Windows VM上,该VM用以在Windows系统中测试Hadoop相关的应用程序。

3. 解决问题


了解到原因之后,可以根据安装Hadoop集群的版本,下载相应的winutils

3.1 下载Hadoop


如果你还没有安装Hadoop,可以按如下方式下载:

  1. hadoop官网下载,镜像下载链接:https://mirrors.tuna.tsinghua.edu.cn

  2. 也可以下载我百度网盘中的3.2.1版本的:

    • 链接:https://pan.baidu.com/s/1dcywut63xDFSdHIIogZUWw

    • 提取码:y6i4

下载完成后,会得到hadoop-3.2.1.tar.gz,因为我下载的是hadoop-3.2.1版本。

解压hadoop-3.2.1.tar.gz得到hadoop-3.2.1,复制hadoop-3.2.1到你想要的文件夹中。

我是把hadoop-3.2.1放在D:\Software文件夹下。

接下来,我便介绍如何配置Hadoop

3.2 配置Hadoop

  1. 右键此电脑,点击属性:

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

  1. 点击高级系统配置

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

  1. 点击环境变量

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

  1. 在环境变量中的系统变量,点击新建:

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

  1. 新建系统变量,填写变量名变量值,点击确定
  • 变量名:HADOOP_HOME

  • 变量值:D:\Software\hadoop-3.2.1

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

  1. 双击系统变量的path,追加%HADOOP_HOME%\bin

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

之后点击三次确定退出编辑。

  1. 查看配置文件

hadoop-3.2.1/etc/hadoop目录下,找到hadoop-env.cmd,看jdk目录!

如果你之前配置了java_home,不用修改配置:

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

如果你没有配置java_home,需要把jdk的绝对路径写上,比如:C:\Program Files\Java\jdk1.8.0_102

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

3.3 下载winutils

下载winutils,下载离你hadoop最近的版本使用(比如我的hadoop3.2.1,我下载的winutils3.1.2),不然会出现一些列的问题。

我提供如下两种下载地址:

  1. GitHub下载地址:https://github.com/steveloughran/winutils

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

由上图可知,截至完稿的时间,github上的更新到3.0.0,但此版本后面出现一些问题,大家尽量安装和你的hadoop对应的版本。

  1. gitee下载链接:https://gitee.com/shockingblue/winutils

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

由上图可知,截至完稿的时间,gitee上的更新到3.2.1,相对github上的版本较多。

或者,从我的网盘中下载winutils

  1. 链接:https://pan.baidu.com/s/1EG67gZ4MLbHONTdUci4cXg

  2. 提取码:orab

3.4 配置winutils

\

  1. 找到3.1.2版本winutilsbin文件夹

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

  1. 用该目录覆盖掉hadoopbin目录。

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

  1. 复制成功之后,会看到下面那个winutils.exe文件:

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

  1. 替换后将bin下面的hadoop.dll拷贝到C:\Windows\System32目录下

解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误,大数据,java,hadoop,开发语言,后端,大数据

  1. 大功告成,记得重启idea

配置完成后,一定要重启idea!否则,配置不生效文章来源地址https://www.toymoban.com/news/detail-740869.html

到了这里,关于解决java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.的错误的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 启动Hadoop报错【Error: JAVA_HOME is not set and could not be found.】

    当用了一下午从0安装上Hadoop兴奋的启动的时候! Error: JAVA_HOME is not set and could not be found. 他告诉我JAVA_HOME 没被找到? 我明明安装了java的,为什么找不到? java -version看了下发现是没问题的 解决: 后来发现是Hadoop上的java路径并没有配置,也就是Hadoop的环境变量没有配置 进入

    2024年02月09日
    浏览(62)
  • HADOOP启动集群报错JAVA_HOME is not set and could not be found.

    首先确保配置好 JAVA_HOME的环境变量 并在普通用户和Root用户下都输入   Java -version  确认配置成功 注意:如果普通用户输入命令成功显示jdk版本,root用户输入命令却显示找不到 Java命令。其中一种可能的解决办法是:修改环境变量的配置文件, 先查找 JAVA_HOME/bin 再查找PATH

    2024年04月26日
    浏览(32)
  • 启动Hadoop报错(Error: JAVA_HOME is not set and could not be found.)

    JAVA_HOME is not set and could not be found 首先确定JDK是否安装配置:通过 java -version查看JDK版本信息。 如果查询不到版本信息,需下载JDK并配置环境变量。 在JDK配置无错的情况下,可能是没有配置hadoop-env.sh文件。这个文件里写的是hadoop的环境变量,主要修改hadoop的JAVA_HOME路径。 切换

    2024年02月12日
    浏览(62)
  • 已解决java.io.FileNotFoundException: E:\work\work (拒绝访问。)的正确解决方法,亲测有效!!!

    已解决java.io.FileNotFoundException: E:workwork (拒绝访问。)的正确解决方法,亲测有效!!! 这个错误提示表示在指定路径下找不到名为\\\"work\\\"的文件。可能的原因是路径错误或文件不存在。请确保路径和文件名都是正确的,并且文件确实存在于指定的位置。 这个错误提示表示在指

    2024年02月07日
    浏览(47)
  • Linux配置hadoop文件报错 ERROR: JAVA_HOME is not set and could not be found(超详细)

    目录 一、hadoop配置文件的一些报错情况 1、ERROR: JAVA_HOME is not set and could not be found (1)查看我们的jdk所在的位置 代码:pwd (2)进入配置环境 (3)最重要的事情!!记得更新环境变量  (4)查看java版本 (5)最后再去运行就好了 2、ERROR: JAVA HOME /cpt/jieya/jdk does not exis

    2024年02月08日
    浏览(42)
  • 文件未找到异常 [java.io.FileNotFoundException

    文件未找到异常 [java.io.FileNotFoundException 【解决文件丢失问题:深入了解Java.io.FileNotFoundException异常的原因和解决方案】 引言: 当您在编写Java应用程序时,可能会遇到一个常见的异常,即文件未找到异常(java.io.FileNotFoundException)。这个异常表示您的程序无法找到所需的文件

    2024年02月09日
    浏览(47)
  • 上传文件提示java.io.IOException: java.io.FileNotFoundException:(系统找不到指定的路径。)

    关键信息: java.io.IOException: java.io.FileNotFoundException: C:UsersbrendonAppDataLocalTemptomcat.6510816303036534023.8099workTomcatlocalhostROOTinvoiceoriginalfile2023-02-1373432e18330dec9a05af2e74d068bfba83e0a88d.pdf (系统找不到指定的路径。) Caused by: java.io.FileNotFoundException: C:UsersbrendonAppDataLocalTemptomcat

    2024年02月12日
    浏览(45)
  • ElasticSearch启动报错RollingFileManager (/xxx/xxx) java.io.FileNotFoundException

    ElasticSearch启动报错如下: Could not create plugin of type class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile: java.lang.IllegalStateException: ManagerFactory  Unable to invoke factory method in class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile: java.lang.IllegalStateExcept

    2024年02月14日
    浏览(37)
  • springboot异步文件上传获取输入流提示找不到文件java.io.FileNotFoundException

    springboot上传文件,使用异步操作处理上传的文件数据,出现异常如下: 这个是在异步之后使用传过来的MultipartFile对象尝试调用getInputStream方法发生的异常。 java.io.FileNotFoundException: C:UsersAdministratorAppDataLocalTemptomcat.8082.9218483334936865663workTomcatlocalhostsdBusinessOnlineSchoolupl

    2024年02月12日
    浏览(54)
  • 【Android】Multiple Gradle daemons might be spawned because the Gradle JDK and JAVA_HOME locations解决方案

    🌟博主领域:嵌入式领域人工智能软件开发 本解决方案亲测无误,完美解决该问题。 在刚安装完Android studio软件后,新建第一个项目时,出现如下通知的错误。 原文: Multiple Gradle daemons might be spawned because the Gradle JDK and JAVA_HOME locations are different. Project \\\'hellov1\\\' is using the fol

    2024年02月03日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包