我先描述我遇到的问题
首先我在Windows下做MapReduce的计数器实验的时候,输出日志中提示找不到winutils.exe执行文件,我先google了一下,发现应该设置一下HADOOP_HOME,我就设置HADOOP_HOME,并且在PATH中加入了hadoop的bin目录,正常来说程序执行的时候会去找环境变量,我已经在环境变量里加入了HADOOP_HOME,程序就会找到但是在运行的时候还是会提示找不到winutils.exe。
接下来我就去PowerShell下执行hadoop命令来验证环境变量是否添加正确,输入hadoop之后输出一些帮助选项,在前两句是“Error: JAVA_HOME is incorrectly set. Please update C:...\hadoop-2.7.1\conf\hadoop-env.cmd"。在StackOverflow上是可以解决99.9%的问题的,参考链接这是我在StackOverflow上边搜索到的解决方案。
导致上述原因的是因为JAVA_HOME中包含空格,因为jdk默认安装路径是“C:\Program Files”,是有空格的,要么你重装jdk,要么采用Windows 8.3 Pathname。
参考链接:https://stackoverflow.com/questions/31621032/hadoop-on-windows-error-java-home-is-incorrectly-set
本文针对在Windows环境下使用Hadoop进行MapReduce实验时出现找不到winutils.exe的问题进行了详细描述。作者通过设置HADOOP_HOME环境变量并加入hadoop的bin目录,但依然遇到错误提示。最终发现问题是由于JAVA_HOME路径中包含了空格导致,通过更改JAVA_HOME路径或者使用Windows 8.3 Pathname方式解决了该问题。
3145

被折叠的 条评论
为什么被折叠?



