ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary path

简介: ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary path

报错显示


   有同学在 Windows 操作系统上运行Hadoop或者Spark的时候会在控制台中遇到以下错误:




报错一


WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.


报错一

ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable C:\hadoop\bin\winutils.exe in the Hadoop binaries


错误原因


  这是因为你的 Hadoop 发行版不包含适用于 Windows 操作系统的二进制文件,它们不包含在官方 Hadoop 发行版中。因此,需要在 Windows 操作系统上从其源代码构建 Hadoop。


还有因为 hadoop 默认的是 Linux 环境,如果在 Windows 上运行 hadoop 的话,必须下载该文件将对应版本中的文件放到 hadoop 所在目录下的 bin 文件中。下面来看一下解决方案。



解决方案


Hadoop 或者spark 错误的解决方案:


 此错误也与适用于 Windows 操作系统的本机 Hadoop 二进制文件有关。因此解决方案与上述 Spark 问题相同。


 我们可以去网上下载winutils-master文件,解压后里面的bin目录文件夹包含winutils.exe和hadoop.dll,我们将这两个文件复制到hadoop的bin目录文件夹下即可。


如下图所示:



链接地址如下:

winutils-master:https://gitcode.net/mirrors/cdarlint/winutils/-/archive/master/winutils-master.zip

注意:对应着hadoop版本下载,实在对不上就凑合着用相近版本或前一个版本的



结语


每个人刚开始学习的时候都是小白,这个过程中或多或少的都会看看别人写的博客,过程中也可能会踩过很多坑。遇到问题的时候,我们可以记录下来,不管是对自己还是对其他学习的小伙伴都很有帮助。程序员大多都是很孤独的,写作也可以让自己的孤独“有处安放”,多去表达,多点表达,对于不善言辞的程序员总是有很多好处,博文写作的过程中最重要的是思路清晰有条理,和敲代码最大的不同是,编程有了明确的目标,日复一日必成高手,而写作如果只是为了写而写,往往会失了初心,丢了本真。写作不仅可以提高言语表达能力,更可以培养持续做事情的毅力,最好得是能遇到很多志同道合的朋友。






相关文章
|
6天前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux 快速定位文件和目录 locate命令使用指南
【Shell 命令集合 文件管理】Linux 快速定位文件和目录 locate命令使用指南
53 0
|
SQL Linux
Cannot connect to discovery server for announce: Announcement failed for http://hadoop102:8881
linux下启动Presto报错:Cannot connect to discovery server for announce: Announcement failed for http://hadoop102:8881
Cannot connect to discovery server for announce: Announcement failed for http://hadoop102:8881
|
6天前
|
SQL 分布式计算 资源调度
[已解决]FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. Unable to
[已解决]FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. Unable to
146 0
|
10月前
|
分布式计算 Hadoop
Call From master.hadoop/192.168.31.149 to master.hadoop:8020 failed on connection exception
学习hadoop新手易犯错误:Call From master.hadoop/192.168.31.149 to master.hadoop:8020 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
395 0
|
分布式计算 Hadoop
解决IDEA:Failed to locate the winutils binary in the hadoop binary path
解决IDEA:Failed to locate the winutils binary in the hadoop binary path
423 0
解决IDEA:Failed to locate the winutils binary in the hadoop binary path
|
分布式数据库 Hbase
报错:java.lang.RuntimeException: Failed construction of Regionserver: class org.apache.hadoop.hbase.re
报错:java.lang.RuntimeException: Failed construction of Regionserver: class org.apache.hadoop.hbase.re
248 0
|
分布式计算 Hadoop
Hadoop2.0 datanode启动不成功:All specified directories are failed to load
Hadoop2.0 datanode启动不成功:All specified directories are failed to load
|
Shell Android开发
Android adb shell里面ls提示opendir failed, Permission denied
错误信息: 127|shell@android:/ $ cd /data cd /data shell@android:/data $ ls ls opendir failed, Permission denied 解决方法: 解决方法.
2453 0
|
SQL Java Apache
hive_异常_01_(未解决)FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop.hbase.HTableDescriptor.addFamily
一、异常现象 单独的 hadoop、hbase 、hive 都是正常的,但是在 hive 整合hbase 时,在 hive中输入以下建表语句, CREATE TABLE hbase_table_1(key int, value string) STORED BY 'org.
4595 0
|
分布式数据库 Hbase 容器
Hbase master启动报错:Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster Caused by: java.net.UnknownHostException:
Hbase master启动报错: java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.
2651 0