问题描述:
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)
问题分析:
spark在编程结束进行执行的时候报告执行时错误:错误信息如上所示,根据错误提示信息我们可以看到是缺失了winutils导致,这是因为在集成spark的时候winutilf以及hdfs.dll两个包不兼容导致的,所以我们只需要更换这两个包,保证其兼容性即可;
问题解决:
如果你的windows没有放置hadoop安装包,请先下载对应的hadoop安装包,然后解压到自己指定的路径即可;
第一步:下载对应版本的winutils以及hdfs.dll;下载地址为:https://download.csdn.net/download/m0_38003171/10850645,里面包含了2.6到3.0的版本,选择和自己hadoop对应的版本或者相近的版本即可;
第二步:下载完之后,进行解压,把解压之后的winutils以及hdfs.dll复制到hadoop安装目录下面的bin目录下面,
第三步:重启你的windows计算及重新执行程序即可;