- 操作系统:Ubuntu 18
- Hadoop版本:Hadoop 3.1.3
- Hbase版本:2.2.2
- JDK版本:1.8
- Java IDE:eclipse
问题描述:
mapRedue本地执行报错 : could not locate executable winutils.exe in the hadoop binaries
原因分析:
为什么这两个文件不存在会报异常呢?这两个文件的作用又是怎样呢?
windows本地运行mr程序时(不提交到yarn,运行在jvm靠线程执行), hadoop.dll防止报nativeio异常、winutils.exe没有的话报空指针异常。
解决方案:
- 分析 : 从报错信息来看,是目录下缺少文件导致的
- 去报错的路径下查看, 发现该目录下没有这个文件
- 于是,去该链接下下载
文件下载链接
- 找到对应的版本下载完毕之后
- 把winutis.exe ,hadoop.dll这两个文件拷贝到HADOOP_HOME/bin目录下
- 再次执行程序,依然报同样的错误
- 把这两个文件复制 到C:Windows目录下,重新执行,该问题得到了解决



