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

一、问题


下载spark-2.0.0-bin-hadoop2.7.tgz   后,在C:\spark\bin 运行spark-shell.cmd 时,  报错


ERROR 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.
  at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:318)
  at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:333)
  at org.apache.hadoop.util.Shell.<clinit>(Shell.java:326)
  at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76)


二、解决办法



1.    下载 winutils.exe      放到  c:\hadoop\bin


2.    设置环境变量


HADOOP_HOME=c:\hadoop

PATH=%HADOOP_HOME%\bin



3.  在C:\spark\bin    右键 以管理员运行 spark-shell.cmd



正常情况下是可以运行成功并进入到Spark的命令行环境下的,但是对于有些用户可能会遇到空指针的错误。这个时候,主要是因为Hadoop的bin目录下没有winutils.exe文件的原因造成的。这里的解决办法是: 
   
- 去 https://github.com/steveloughran/winutils 选择你安装的Hadoop版本号,然后进入到bin目录下,找到winutils.exe文件,下载方法是点击winutils.exe文件,进入之后在页面的右上方部分有一个Download按钮,点击下载即可。 
- 下载好winutils.exe后,将这个文件放入到Hadoop的bin目录下,我这里是F:\Program Files\hadoop\bin。 
- 在打开的cmd中输入 

F:\Program Files\hadoop\bin\winutils.exe chmod 777 /tmp/hive 

这个操作是用来修改权限的。注意前面的F:\Program Files\hadoop\bin部分要对应的替换成实际你所安装的bin目录所在位置。

  经过这几个步骤之后,然后再次开启一个新的cmd窗口,如果正常的话,应该就可以通过直接输入spark-shell来运行Spark了。 

正常的运行界面应该如下图所示:


感谢:

http://blog.csdn.net/baidu_19473529/article/details/54693523

http://blog.csdn.net/u011513853/article/details/52865076

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值