我知道有一个与此帖子非常相似的帖子(Failed to locate the winutils binary in the hadoop binary path),但是,我尝试了建议的每个步骤,并且仍然出现相同的错误。

我正在尝试使用Windows 7上的Apache Spark版本1.6.0来执行本页http://spark.apache.org/docs/latest/streaming-programming-guide.html上的教程,特别是使用以下代码:

./bin/run-example streaming.JavaNetworkWordCount localhost 9999

但是,此错误不断出现:
java - Spark 1.6-无法在hadoop二进制路径中找到winutils二进制文件-LMLPHP

看完这篇文章后
Failed to locate the winutils binary in the hadoop binary path

我意识到我需要winutils.exe文件,因此我已经下载了hadoop二进制2.6.0,并定义了一个名为HADOOP_HOME的环境变量:
 with value C:\Users\GERAL\Desktop\hadoop-2.6.0\bin

并将其放置在路径上,如下所示:%HADOOP_HOME%

但是,当我尝试代码时,仍然会出现相同的错误。有谁知道如何解决这个问题?

最佳答案

如果要在具有Hadoop的Windows上运行Spark,则需要确保正确安装了Windows hadoop安装。要运行spark,您需要在hadoop主目录bin文件夹中包含winutils.exe和winutils.dll。

我想请您先尝试一下:

1)您可以从以下链接的 bundle 包中下载.dll和.exe文件。

https://codeload.github.com/sardetushar/hadooponwindows/zip/master

2)从该文件夹中复制winutils.exe和winutils.dll到$ HADOOP_HOME/bin中。

3)在您的spark-env.sh或命令中设置HADOOP_HOME,然后将HADOOP_HOME/bin添加到PATH

然后尝试运行。

如果您需要有关hadoop安装帮助的任何帮助,则有一个不错的链接,您可以尝试一下。

http://toodey.com/2015/08/10/hadoop-installation-on-windows-without-cygwin-in-10-mints/

但是,那可以等待。您可以尝试前几步。

10-08 05:40