Windows平台上运行hadoop和spark程序涉及读写操作时报空指针等错误解决方案

问题详细描述:Windows平台上运行hadoop与spark程序涉及读写操作时报

Failed to locate the winutils binary in the hadoop binary path

或者空指针错误

java.io.IOException: Could not locate executable C:\hadoop\bin\winutils.exe in the Hadoop binaries.

解决方案:

  1. 下载winutils的windows版本
    GitHub上有人提供了winutils的windows的版本,项目地址https://github.com/srccodes/hadoop-common-2.2.0-bin,直接下载此项目的zip包,下载后是文件名是hadoop-common-2.2.0-bin-master.zip,解压到一个目录
  2. 配置环境变量
    增加用户变量HADOOP_HOME,值是下载的zip包解压的目录,然后在系统变量path里增加$HADOOP_HOME\bin 即可。  
  3. 在程序中添加如下代码,代码中的路径为你解压的路径

“System.setProperty(“hadoop.home.dir”,”C:\hadoop\hadoop-common-2.2.0-bin-master”);”

最后墙裂安利一波Mac,如果你是开发人员,还是用Mac吧,环境会让你很省心,Mac确实是可以提升生产力的工具。

-------------End Of This ArticleThank You For Reading-------------