在windows系统本地运行spark的wordcount程序,会出现一个异常,但不影响现有程序运行。

>>提君博客原创  http://www.cnblogs.com/tijun/  <<

总归是一个异常,老是爆红,看着心烦,下面是异常信息

提君博客原创

让我们源码追踪一下,看看到底是什么原因导致,点击第一行爆红的异常信息提示,就是(shell.java:355)

看到我的截图提示,大概了解什么原因了。发现HADOOP_HOME_DIR为null,右边outline里面找到一个私有静态变量叫HADOOP_HOME_DIR,

点击看看是如何赋值的,

HADOOP_HOME_DIR他的初始化应该是调用了一个checkHadoopHome()的方法,找到这个方法的实现

在checkHadoopHome()这个方法实现里面,真相已经大白于天下了,方法里面需要找到一些系统配置信息,而我们程序里或系统里没有给到。

提君博客原创

这就针对的解决就可以了。而且根据checkHadoopHome()这个方法的实现过程,我们可以得出两种解决这个问题的方法。

>>提君博客原创  http://www.cnblogs.com/tijun/  <<

两种方法的前提都是需要在本地解压hadoop的安装包的。

提君博客原创

我这里的解压的是hadoop-common-2.2.0-bin-master.zip。

这里主要的还是需要在bin目录下找winutils.exe。

第一种方法,

我们看到源码292行,他是先从System.getProperty("hadoop.home.dir");这里获得信息,

从他的注释信息看

 // first check the Dflag hadoop.home.dir with JVM scope

首先检查的应该是java虚拟机里面的这个hadoop.home.dir,

那我们就可以直接在程序开始执行出手动添加

System.setProperty("hadoop.home.dir", "D:\\Programe\\hadoop-common-2.2.0-bin-master");

注意:这段代码要加到程序的开头第一行

运行程序,刚刚的异常爆红就不会出现了。

第二种方法,

从源码296行的System.getenv("HADOOP_HOME");,不难看出,如果在虚拟机里面没有找到hadoop.home.dir

那就从这行代码获得,从注释信息来看

// fall back to the system/user-global env variable

那就是从系统的用户全局变量里面找HADOOP_HOME这个配置。

那我们直接在Windows的系统变量里面配置HADOOP_HOME,然后在PATH里面配置HADOOP_HOME/bin

这种方法需要重启计算机,运行程序,刚刚的异常爆红就不会出现了。

至此,两种方法任选其一,都是可以解决问题的

>>提君博客原创  http://www.cnblogs.com/tijun/  <<

提君博客原创

转载于:https://www.cnblogs.com/tijun/p/7567664.html

源码追踪,解决Could not locate executable null\bin\winutils.exe in the Hadoop binaries.问题相关推荐

  1. 解决Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

    在Windows环境下使用IDEA.eclipse运行hadoop.spark程序时产生如下异常: 1.java.io.IOException: Could not locate executable ...

  2. 【收藏】Hadoop解决Could not locate executable null\bin\winutils.exe in the Hadoop binaries.问题

    https://www.cnblogs.com/tijun/p/7567664.html

  3. [Spark]Could not locate executable null\bin\winutils.exe in the Hadoop binaries

    这里集群环境不同,但遇到的问题及解决办法其实一样,时间有限,就不详细修改了.我主要是在Windows本地运行Spark程序出现该错误. 本文转自http://www.cnblogs.com/hyl82 ...

  4. 【Spark】Spark报错:Could not locate executable null\bin\winutils.exe in the Hadoop binaries

    IDEA集成Scala和Spark之后,运行demo可能会报错: java.io.IOException: Could not locate executable null\bin\winutils. ...

  5. 【Spark】Could not locate executable null\bin\winutils.exe in the Hadoop binaries

    项目场景: 在ideal中运行spark项目进行数据存储文件时报错. 问题描述: 报错:Could not locate executable null\bin\winutils.exe in the ...

  6. Could not locate executable null\bin\winutils.exe in the Hadoop binaries全网最强windows10安装hadoop教程

    简述 详细安装配置步骤 1.安装jdk 2.下载安装hadoop 2.1 下载 2.2 解压安装 2.3 配置环境变量 2.4 配置cmd与xml文件 设置完毕启动hadoop 简述 报错内容:Cou ...

  7. 安装spark,Could not locate executable null\bin\winutils.exe in the Hadoop binaries报错

    安装spark,Could not locate executable null\bin\winutils.exe in the Hadoop binaries报错 缺少winutils.exe程序 ...

  8. IDEA启动hadoop报Could not locate executable null\bin\winutils.exe in the Hadoop binaries.错误的解决办法

    打开了一个hadoop项目,项目代码确定无误可运行,但是本地运行报错如下 仔细看一下报错路径,显示的是null\bin\winutils.exe 而我的winutils已经下载下来并且复制到bin目录 ...

  9. bug-hadoop:Could not locate executable null\bin\winutils.exe in the Hadoop binaries

    原因:缺少winutils.exe程序 Hadoop都是运行在Linux系统下的,在windows下eclipse中运行mapreduce程序,要首先安装Windows下运行的支持插件 下载: htt ...

最新文章

  1. java中标签怎么用_Java中标签的使用
  2. printf()用法详解(转)
  3. 【论文解读】CIKM20-MiNet:阿里|跨域点击率预估混合兴趣模型
  4. 编解码器之战:AV1、HEVC、VP9和VVC
  5. Python time sleep()方法
  6. qt能使用logback_X04Logback的配置
  7. 使用dao时,如何同时使用动态表名和过滤字段?
  8. 回溯法采用的搜索策略_数值优化|笔记整理(3)——线搜索中的步长选取方法,线性共轭梯度法...
  9. Javascript鼠标键盘事件
  10. sql server 内存_SQL Server内存性能指标–第5部分–了解惰性写入,空闲列表停顿/秒和待批内存授予
  11. 不只有BERT!盘点2018年NLP令人激动的10大想法
  12. ios布局 分为左右两块_安卓手机一年后卡顿,原因是安卓系统太开放了,改走iOS封闭之路...
  13. php字符串怎么判断是否相等,php判断两个字符串是否相等
  14. XenServer 6.5实战系列之九:Creating a VM Template from a VM Snapshot
  15. matlab消除多重共线性,多重共线性问题的几种解决方法-解决多重共线性的方法...
  16. PLC闪烁电路的实现
  17. PS2020一打开就闪退的解决办法
  18. 【DOM】DOM概述及DOM操作之如何查找元素_01
  19. ESP8266 NodeMCU开发板
  20. java simsimi_“小黄鸡”中文聊天机器人的详细说明.

热门文章

  1. 开源库UITableView+FDTemplateLayoutCell学习
  2. linux网络配置、ssh、scp及命令优先级作业
  3. jQuery 的属性操作方法
  4. 基于Windows8与Visual Studio2012开发内核隐藏注册表
  5. android git项目管理,Android Studio中如何使用Git和Github来管理项目
  6. MapReduce之InputFormat理解
  7. SystemTimer,TimerTaskList等源码分析
  8. (204)浮点数的表示
  9. FPGA系统时间戳偶尔异常分析及定位
  10. 未指定的IO标准导致vivado生成bit文件报错