我在Hadoop中收到此错误,找不到可执行文件null \ bin \ winutils.exe

时间:2015-07-14 09:27:09

标签: java hadoop

我是Hadoop系统的新用户,在尝试获取Hadoop(HDFS)文件系统时遇到以下错误设置是在Ubuntu Server 15.05上运行Hadoop。以及在Windows上运行的Java程序,使用Java连接文件并将文件添加到Hadoop系统。

错误是:

    15/07/14 11:23:30 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    15/07/14 11:23:30 ERROR util.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.

使用以下行参考:

    FileSystem hdfs = FileSystem.get(new URI("hdfs://10.0.0.1:54310"), configuration);

2 个答案:

答案 0 :(得分:2)

更新:在花了3个小时来搜索问题后回答了我自己的问题,如果有其他人遇到问题,我找到了Answer Here

我下载了winutils.exe并将其放在C:/Bin/Winutils.exe

然后我在函数的开头将以下行添加到我的项目中

    System.setProperty("hadoop.home.dir", "C:\\winutil\\");

答案 1 :(得分:0)

如果您直接使用 Apache Hadoop 2.6.0发行版的二进制分发版并尝试在Microsoft Windows上运行它,那么我们将会遇到

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

这些是在Windows上运行Hadoop所必需的(非可选)。 为此,您必须单独添加文件

只需下载并复制hadoop-common-2.6.0/bin文件夹的所有文件,然后将其粘贴到/ bin文件夹

即可

请参阅thisthis博客。