hadoop疑难问题解决_Failed to locate the winutils binary in the hadoop binary path java.io.IOException

1、问题描述

        spark集成hadoop以后,利用spark读取hdfs文件报错,具体报错信息如下所示:

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)

2、问题分析

        根据错误提示信息我们可以得知:在hadoop的binary包中没有定位到winutils binary,所以在加载winutils文件过程中出现IO异常。这是因为在集成spark的时候winutilf以及hdfs.dll两个包不兼容导致的,所以我们只需要更换这两个包,保证其兼容性即可;

3、处理方法

  1. 检查开发环境中$HADOOP_HOME中是否有winutils(如果开发环境中没有hadoop安装包,请先下载对应的hadoop安装包,然后解压到自己指定的路径即可);
  2. 下载对应版本的winutils以及hdfs.dll;下载地址为:https://download.csdn.net/download/m0_38003171/10850645,里面包含了2.6到3.0的版本,选择和自己hadoop对应的版本或者相近的版本即可;
  3. 下载完之后,进行解压,把解压之后的winutils以及hdfs.dll复制到hadoop安装目录下面的bin目录下面,
  4. 重启你的windows计算机及重新执行程序即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

圣·杰克船长

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值