关于【 Failed to locate the winutils binary in the hadoop binary path java.io.IOException】的错误小解

前情:在跑经典项目wordcount的时候,eclipse报错:

日志顶端????

关于【 Failed to locate the winutils binary in the hadoop binary path java.io.IOException】的错误小解

2020-07-26 21:59:22,410 [main] ERROR [org.apache.hadoop.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.

 

 

日志尾端????

关于【 Failed to locate the winutils binary in the hadoop binary path java.io.IOException】的错误小解

job running in uber mode:false

job failed with state FAILED due to:NA

问题本身并不难,但是我一开始的解题思路错了,误以为是日志尾端的信息是问题,结果百度的解决方法试过均无效

但其实 日志顶端的信息 才是问题的根源 ,而当我发现这场乌龙的时候已经耗费了一天的时间 ,活该/(ㄒoㄒ)/~~。

 

解决思路:缺少配置Hadoop_home环境

1.配置Hadoop的环境变量

这里要配的不是“hadoop-common-2.2.0-bin-master”,而是“hadoop-2.7.2”的环境变量

前者是Hadoop在eclipse的插件包,后者才是Hadoop的安装包

配置过程就不多赘述,直接目录浏览调用安装路径,以及路径下的bin

 

2.丢“winutil.exe"”Hadoop.dll"文件

将“hadoop-common-2.2.0-bin-master”包或者“hadoop-2.7.2”下的“winutil.exe"”Hadoop.dll"文件丢到windows系统的C:\Windows\System32下面

 

3,重启eclipse

至此,mapreduce项目就可以正常运行 

  关于【 Failed to locate the winutils binary in the hadoop binary path java.io.IOException】的错误小解

 

最后附上老师对这个问题的解释

关于【 Failed to locate the winutils binary in the hadoop binary path java.io.IOException】的错误小解