关于【 Failed to locate the winutils binary in the hadoop binary path java.io.IOException】的错误小解
前情:在跑经典项目wordcount的时候,eclipse报错:
日志顶端????
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.
日志尾端????
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项目就可以正常运行
最后附上老师对这个问题的解释