我在为最新的hadoop-2.2版本启动namenode时遇到以下错误.我没有在hadoop bin文件夹中找到winutils exe文件.我试过下面的命令
$ bin/hdfs namenode -format
$ sbin/yarn-daemon.sh start resourcemanager
ERROR [main] util.Shell (Shell.java:getWinUtilsPath(303)) - 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.
at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:278)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:300)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:293)
at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.main(ResourceManager.java:863)
Run Code Online (Sandbox Code Playgroud)
Pra*_*d D 94
简单的解决方案:从这里下载并添加到$HADOOP_HOME/bin
(来源:点击这里)
编辑:
对于hadoop-2.6.0,您可以从Titus Barik博客下载二进制文件>>.
我不仅需要指向解HADOOP_HOME压缩的目录[path],还需要提供系统属性-Djava.library.path=[path]\bin来加载本机库(dll).
Abh*_*jit 27
如果我们直接采用Apache Hadoop 2.2.0版本的二进制发行版并尝试在Microsoft Windows上运行它,那么我们将遇到ERROR util.Shell:无法在hadoop二进制路径中找到winutils二进制文件.
Apache Hadoop 2.2.0发行版的二进制发行版不包含一些Windows本机组件(如winutils.exe,hadoop.dll等).这些是在Windows上运行Hadoop所必需的(非可选).
所以你需要在hadoop源代码发布内的"BUILD.txt"文件之后,从源代码构建hadoop的windows native二进制发行版.您还可以按照以下帖子逐步指导屏幕截图
在Microsoft Windows操作系统中构建,安装,配置和运行Apache Hadoop 2.2.0
错误util.Shell:无法在hadoop二进制路径中找到winutils二进制文件
Trn*_*nKh 26
如果在使用Spark运行自包含本地应用程序时遇到此问题(即,在将spark-assembly-xxx-hadoopx.xxjar或Maven依赖项添加到项目之后),更简单的解决方案是放置winutils.exe(下载从这里)"C:\ winutil\bin".然后,您可以通过在代码中添加以下行将winutils.exe添加到hadoop主目录:
System.setProperty("hadoop.home.dir", "c:\\\winutil\\\")
Run Code Online (Sandbox Code Playgroud)
来源:点击这里
小智 18
语句java.io.IOException:无法找到可执行文件null\bin\winutils.exe
解释了在扩展或替换环境变量时收到null.如果在Common Package中看到Shell.Java中的Source,你会发现HADOOP_HOME变量没有被设置,你接收null代替它,因此错误.
因此,需要正确设置HADOOP_HOME或变量hadoop.home.dir属性.
希望这可以帮助.
谢谢,Kamleshwar.
小智 11
我在使用Eclipse时遇到了这个问题.在我的情况下,我下载了正确的Hadoop版本(hadoop-2.5.0-cdh5.3.0.tgz),我提取了内容并将其直接放在我的C盘中.然后我去了
Eclipse-> Debug/Run Configurations - > Environment(tab) - >并添加
变量:HADOOP_HOME
值:C:\ hadoop-2.5.0-cdh5.3.0
小智 5
Winutils.exe用于运行SPARK的Shell命令。需要在不安装Hadoop的情况下运行Spark时,需要此文件。
步骤如下:
从以下位置下载winutils.exe for hadoop 2.7.1 https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin [注意:如果您使用的是单独的hadoop版本,请下载如上所述,从GITHUB上相应的hadoop版本文件夹中获取winutils。
现在,在C:\驱动器中创建一个文件夹“ winutils”。现在,在文件夹“ winutils”内创建一个文件夹“ bin”,并将winutils.exe复制到该文件夹中。因此,winutils.exe的位置将为C:\ winutils \ bin \ winutils.exe
现在,打开环境变量并设置HADOOP_HOME = C:\ winutil [注意:请不要 在HADOOP_HOME中添加\ bin,也不需要在Path中设置HADOOP_HOME。
您的问题必须解决!
| 归档时间: |
|
| 查看次数: |
171312 次 |
| 最近记录: |