windows下运行hadoop的程序报错java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
很明显应该是HADOOP_HOME的问题。如果HADOOP_HOME为空,必然fullExeName为null\bin\winutils.exe。
解决办法:
下载winutils地址https://github.com/srccodes/hadoop-common-2.2.0-bin下载,不要顾虑它的版本,进入hadoop-x.x.x/bin目录下看,会发现winutils.exe文件。
配置环境变量
增加用户变量HADOOP_HOME,值是下载的zip包解压的目录,然后在系统变量path里增加%HADOOP_HOME%\bin ,重启电脑即可,若不想重启电脑则可以在程序中添加:
System.setProperty("hadoop.home.dir", "E:\\Program Files\\hadoop-2.7.0");
注:E:\\Program Files\\hadoop-2.7.0是我本机解压的hadoop的路径。
再次运行程序,即可正常执行。