我知道有一个与此帖子非常相似的帖子(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
但是,此错误不断出现:
看完这篇文章后
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/
但是,那可以等待。您可以尝试前几步。