spark开发常见问题之一:java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

最近在学习研究pyspark机器学习算法,执行代码出现以下异常:

19/06/29 10:08:26 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:379)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:394)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:387)
at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:80)
...........
19/06/29 10:08:26 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark‘s default log4j profile: org/apache/spark/log4j-defaults.properties

从程序运行度方面来说,这个异常并不影响spark程序的继续执行。但是作为一个程序员看到异常就如出现bug,必须让这种异常消失!

分析异常:根据提示应该是Hadoop binaries.中缺少winutils.exe这个配置。

解决方法:

1.首先检查本地window环境是否已经安装hadoop,若没有则先配置hadoop环境变量

1)下载Hadoop,我本次操作使用的是hadoop-2.7.3,当然你可以根据自己需求去官网下载

官网下载地址:

网盘分享我使用的版本:

链接: https://pan.baidu.com/s/1-ssNBynSzrC5iG5ozwqAUA 提取码: zdu5

2)配置windows环境变量。本机是windows10系统

先添加HADOOP_HOME配置

在配置path路径:

3) 下载winutils.exe,hadoop.dll放到hadoop环境的bin目录,建议尽量使用版本匹配的,必然hadoop-2.6就使用2.6版本的。2.7版本就使用2.7.。理论上2.7版本可以使用在2.6版本上

这里提供hadoop-2.7.3版本的这2个文件:链接: https://pan.baidu.com/s/1r5rZWqU2O7wu2WtAhmt1KA 提取码: pxr9

4)重启电脑再次测试 异常提示消失

提醒:这个异常提示并不一定是spark程序开发时才会出现。在做hadoop程序开发必然写mapreduce程序时 也会遇到同样情况。操作方法一致即可。

原文地址:https://www.cnblogs.com/mdlcw/p/11106218.html

时间: 2024-11-08 23:51:41

spark开发常见问题之一:java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.的相关文章

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

在已经搭建好的集群环境Centos6.6+Hadoop2.7+Hbase0.98+Spark1.3.1下,在Win7系统Intellij开发工具中调试Spark读取Hbase.运行直接报错: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 15/06/11 15:35:50 ERROR Shell: Failed to locate the winutils binary in the

windows 中使用hbase 异常:java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

平时一般是在windows环境下进行开发,在windows 环境下操作hbase可能会出现异常(java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.),以前也遇到过这个问题,今天又有小伙伴遇到这个问题,就顺带记一笔,异常信息如下: 2016-05-23 17:02:13,551 WARN [org.apache.hadoop.util.NativeCodeLoa

Spakr- 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.

运行 mport org.apache.log4j.{Level, Logger} import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /** * Created by Lee_Rz on 2017/8/30. */ object SparkDemo { def main(args: Array[String]) { Logger.getLogger("org.apache.spark

Could not locate executable null\bin\winutils.exe in the Hadoop binaries解决方式 spark运行wordcoult

虽然可以正常运行,但是会出异常,现给出解决方法. 1.问题:   2.  问题解决: 仔细查看报错是缺少winutils.exe程序. Hadoop都是运行在Linux系统下的,在windows下eclipse中运行mapreduce程序,要首先安装Windows下运行的支持插件 3.  安装并配置插件(我这里还是Linux版的hadoop安装包,我们只需要下载一个winutils.exe文件即可) 1.文件解压后如下(添加winutils.exe):   2.设置环境变量(第一个在环境变量下创

java.io.IOException: All specified directories have failed to load.

java.io.IOException: All specified directories have failed to load. at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:552) at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:1705) a

spark程序异常:Exception in thread &quot;main&quot; java.io.IOException: No FileSystem for scheme: hdfs

命令: java -jar myspark-1.0-SNAPSHOT.jar myspark-1.0-SNAPSHOT.jar hdfs://single:9000/input/word.txt hdfs://single:9000/output/out1 错误信息: .......... 14/11/23 06:14:18 INFO SparkDeploySchedulerBackend: Granted executor ID app-20141123061418-0011/0 on hos

spark运行java-jar:Exception in thread &quot;main&quot; java.io.IOException: No FileSystem for scheme: hdfs

今天碰到的一个 spark问题,困扰好久才解决 首先我的spark集群部署使用的部署包是官方提供的 spark-1.0.2-bin-hadoop2.tgz 部署在hadoop集群上. 在运行java jar包的时候使用命令 java -jar chinahadoop-1.0-SNAPSHOT.jar  chinahadoop-1.0-SNAPSHOT.jar  hdfs://node1:8020/user/ning/data.txt /user/ning/output 出现了如下错误 14/08

Android开发中与服务器交互时,遇到java.io.IOException: Target host must not be null的问题

当我遇到这个问题的时候,也在网上查找好半天.找到了一个和这个问题很类似的问题——java.lang.IllegalStateException: Target host must not be null 这个里面报的是IllegalStateException,翻译过来是非法状态异常,这个是url的状态,一般来说会是地址不正确(如:在地址的开头缺少http://). 不过,我遇到的是com.lidroid.xutils.exception.HttpException: java.io.IOExc

java.io.IOException: No space left on device 错误

今天碰到比较奇怪的问题: 7/05/14 19:20:24 INFO util.Utils: Fetching http://192.168.31.160:33039/jars/spark_study_java-0.0.1-SNAPSHOT-jar-with-dependencies.jar to /tmp/spark-446068a4-aaa4-4277-b009-908bf0d4ecac/executor-dcc3175b-7d19-4485-81e1-bf31a83a66b4/spark-