福田区住房和建设局网站,手机网站网站开发流程图,工作室网站需要备案吗,网页传奇游戏中心文章目录 1. 复现错误2. 分析错误3. 解决问题3.1 下载Hadoop3.2 配置Hadoop3.3 下载winutils3.4 配置winutils 1. 复现错误 今天在运行同事给我的项目#xff0c;但在项目启动时#xff0c;报出如下错误#xff1a;
java.io.FileNotFoundException: java.io.FileNotFoundEx… 文章目录 1. 复现错误2. 分析错误3. 解决问题3.1 下载Hadoop3.2 配置Hadoop3.3 下载winutils3.4 配置winutils 1. 复现错误 今天在运行同事给我的项目但在项目启动时报出如下错误
java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblemsat 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_HOME和hadoop.home.dir主要是干嘛的呢是配置在本地环境变量中的Hadoop地址。
那么需要下载Windows版本的Hadoop来设置么如果是远程连接Linux上的Hadoop集群则完全不需要再下载安装Windows版本的Hadoop
本地远程连接Hadoop系统时需要在本地配置相关的Hadoop变量主要包括hadoop.dll与winutils.exe等。
【注意】由于hadoop主要基于linux编写winutil.exe主要用于模拟linux下的目录环境。
当Hadoop在windows下运行或调用远程Hadoop集群的时候需要该辅助程序才能运行。winutils是Windows中的二进制文件适用于不同版本的Hadoop系统并构建在Windows VM上该VM用以在Windows系统中测试Hadoop相关的应用程序。
3. 解决问题 了解到原因之后可以根据安装Hadoop集群的版本下载相应的winutils。
3.1 下载Hadoop 如果你还没有安装Hadoop可以按如下方式下载 去hadoop官网下载镜像下载链接https://mirrors.tuna.tsinghua.edu.cn 也可以下载我百度网盘中的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
右键此电脑点击属性 点击高级系统配置 点击环境变量 在环境变量中的系统变量点击新建 新建系统变量填写变量名和变量值点击确定 变量名HADOOP_HOME 变量值D:\Software\hadoop-3.2.1 双击系统变量的path追加%HADOOP_HOME%\bin 之后点击三次确定退出编辑。
查看配置文件
在hadoop-3.2.1/etc/hadoop目录下找到hadoop-env.cmd看jdk目录
如果你之前配置了java_home不用修改配置 如果你没有配置java_home需要把jdk的绝对路径写上比如C:\Program Files\Java\jdk1.8.0_102。 3.3 下载winutils
下载winutils下载离你hadoop最近的版本使用比如我的hadoop3.2.1我下载的winutils是3.1.2不然会出现一些列的问题。
我提供如下两种下载地址
GitHub下载地址https://github.com/steveloughran/winutils 由上图可知截至完稿的时间github上的更新到3.0.0但此版本后面出现一些问题大家尽量安装和你的hadoop对应的版本。
gitee下载链接https://gitee.com/shockingblue/winutils 由上图可知截至完稿的时间gitee上的更新到3.2.1相对github上的版本较多。
或者从我的网盘中下载winutils 链接https://pan.baidu.com/s/1EG67gZ4MLbHONTdUci4cXg 提取码orab
3.4 配置winutils
\
找到3.1.2版本winutils的bin文件夹 用该目录覆盖掉hadoop的bin目录。 复制成功之后会看到下面那个winutils.exe文件 替换后将bin下面的hadoop.dll拷贝到C:\Windows\System32目录下 大功告成记得重启idea
配置完成后一定要重启idea否则配置不生效