今天在运行同事给我的项目,但在项目启动时,报出如下错误:
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.
通过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
相关的应用程序。
了解到原因之后,可以根据安装Hadoop
集群的版本,下载相应的winutils
。
如果你还没有安装Hadoop
,可以按如下方式下载:
去hadoop
官网下载,镜像下载链接:https://mirrors.tuna.tsinghua.edu.cn
也可以下载我百度网盘中的3.2.1
版本的:
提取码: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
。
变量名
和变量值
,点击确定变量名: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
。
下载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
:
提取码:orab
\
3.1.2
版本winutils
的bin
文件夹hadoop
的bin
目录。winutils.exe
文件:bin
下面的hadoop.dll
拷贝到C:\Windows\System32
目录下idea
配置完成后,一定要重启idea
!否则,配置不生效
文章浏览阅读2.6w次,点赞29次,收藏146次。前段时间玩微信爬虫,仿佛打开了新世界的大门。使用 wxpy 库调用微信的接口,可以获取好友信息,聊天消息收发等功能。脑洞一开,这样不就可以用来做 聊天消息防撤回,红包提醒,自动回复这些有意思的玩意儿了嘛!言归正传,这次我搜集整理了一些比较好用的 ”聊天机器人“ 的 API 接口。如果后期有机会的话,把它们接入我的程序中,做一个陪聊小助手,也是一个不错的选择。小 i 机..._免费的chatai接口
文章浏览阅读889次,点赞24次,收藏36次。毕业设计:基于深度学习的网课学生坐姿检测系统利用深度学习算法对摄像头捕捉的学生图像进行特征提取和分类,以判断学生的坐姿是否正确。首先,通过图像采集模块获取学生的实时视频流,判断学生的坐姿状态。为计算机毕业设计提供了一个创新的方向,为毕业生提供了一个有意义的研究课题。对于计算机专业、软件工程专业、人工智能专业、大数据专业的毕业生而言,提供了一个具有挑战性和创新性的研究课题。无论您对深度学习技术保持浓厚兴趣,还是希望探索机器学习、信息安全、算法或人工智能的领域的同学,能为您提供灵感和指导;_坐姿检测系统
文章浏览阅读300次。前言先说说2020_n1CTF的web题Easy_tp5复现问题。这个题在保留thinkphp的RCE点的同时,并且RCE中ban掉许多危险函数,只能允许单参数的函数执行。对于现在在网络中流传的文件包含的点也增加了限制。smile yyds!先说一下这个题限制条件:thinkphp版本:5.0.0php版本:7对于包含文件增加了限制ban掉所有的单参数危险函数设置open_basedir为web目..._thinkphp5.x getshell 禁用函数
文章浏览阅读741次,点赞14次,收藏20次。希望本文对你有所启发,有任何面试上的建议也欢迎留言分享给大家。好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。好了~如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。_gradle源码分析
文章浏览阅读424次,点赞11次,收藏10次。kinect信息仿真以及显示
文章浏览阅读7.8k次,点赞2次,收藏9次。发起请求所有REST请求头都必须包含以下内容:(公共数据不需要)OK-ACCESS-KEY字符串类型的APIKey。OK-ACCESS-SIGN使用HMAC SHA256哈希函数获得哈希值,再使用Base-64编码(请参阅签名)。OK-ACCESS-TIMESTAMP发起请求的时间(UTC),如:2020-12-08T09:08:57.715ZOK-ACCESS-PASSPHRASE您在创建API密钥时指定的Passphrase。所有请求都应该含有application/json类型内容,并且是_v5okv5
文章浏览阅读66次。Linux系统下安装jdk及环境配置1、利用yun 云安装 :首先在liunx下输入:yum -y list java*→yum install -y java-1.8.0-openjdk-devel.x86_64(jdk1.8版本)2、手动安装:去Oracle官网下载需要安装的jdk版本,我这里用的是jdk-8u181-linux-x64.tar.gz将该文件包放在user/java下...
文章浏览阅读983次,点赞26次,收藏6次。接着我们介绍后面的三道题,虽然代码变多了但我们的思路更加通顺了。题目:4. 单链表相关经典算法OJ题3:合并两个有序链表5. 循环链表经典应⽤-环形链表的约瑟夫问题6. 单链表相关经典算法OJ题5:分割链表
文章浏览阅读3.2k次。下面是《Android App开发入门与项目实战》一书用到的工具和代码资源:1、本书使用的Android Studio版本为4.1,最新的安装包可前往。2、本书提供所有示例源码的demo工程下载,源码(适配Android4.4到Android11)的下载方式见该书前言末尾的二维码,获取ppt课件同样扫描前言末尾的二维码。最新的源码也可访问我的gitee获取。_android app开发入门与项目实战pdf
文章浏览阅读991次,点赞2次,收藏6次。众所周知,前端是由HTML、CSS、JS等文件资源共同作用下渲染构建出来的。现今前端项目,大多为单页面应用,单页面应用的优点非常多(点击跳转 SPA单页面讲解),但是也并非没有缺点。由于单页面的原因,项目所需资源都需要在初次加载首屏时被加载,这就造成了首屏加载性能受到影响!对于首屏性能优化,就衍生出了相关需要思考的问题。如何将首屏加载的资源,分段将需要的资源及时加载出来,避免页面内容不显示的同时,又能避免加载多余并非立刻需要使用的资源呢?_前端资源加载优化
文章浏览阅读3.7k次。现在公司生产服务器一般都使用CentOS 7系统,安装Docker也一直都是使用yum命令直接从CentOS自己的源安装。自从Docker项目改名为moby,进而诞生CE和EE两个不同版本后。不知是因为版权还是其他的什么原因,CentOS源中的Docker版本不再更新了,default维持在1.12.6,latest为1.13.1。为了使用新版本的Docker,只能添加官方repo,然后安装d..._docker selinux-enabled
文章浏览阅读853次。介绍图的 4 中存储方式:邻接矩阵、邻接表、十字链表和多重链表_领接矩阵上三角