在进行本地运行word count案例时,IDE报空指针异常,情况如下图:
我在网上找了很久,发现这个问题出错的人不少,问题的原因还是因为系统Hadoop安装目录下的bin目录下(列如我的D:\hadoop\hadoop-2.7.7\bin) 这个目录下缺少hadoop.dll文件和winutils.exe文件。
注意:有的人Hadoop bin目录下有hadoop.dll文件 这样的就不需要添加了 只需要添加winutils.exe
这里我给大家准备了一些版本的hadoop.dll-winutils.exe文件 地址:https://download.csdn.net/download/qq_43577706/11116970
选择自己对应的版本:
1、将hadoop.dll、winutils.exe文件放到自己hadoop的bin目录下(win系统里边);
2、将hadoop.dll、winutils.exe文件在win系统里边的C盘下的system32目录放一份;
3、环境变量的PATH里边加一下HADOOP_HOME中的bin目录。注意上移到最上面
配置好后应该就可以了。效果如下:
添加hadoop.dl 和 winutils.exe文件
运行程序成功:
案例执行成功结果如下:
博主第一次发布博客,所以写的很细,麻烦大家别嫌弃。
如果大家hadoop环境配置好了,然后hadoop.dll和winutils.exe也添加了还是报错,建议重启一下电脑。
要是还是不行,那你们可能遇到了和我一样的问题了。当时我简直要疯了,一直弄到凌晨3点多。
这种情况我当时使用eclipse编译了一下程序,但是,竟然成功了 。
然后我又使用IDE编译了一下,还是报空指针异常。但是文件成功了 所以我就睡了。
大家导入eclipse可能会出现下面这种错误:
pom.xml文件会报错,但是运行程序并不影响,但是看到小红点肯定不舒服。
我们将下面代码加入到里面就行了。注意在/dependencies前。
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
这样就不会有红色小点点了。
第二天醒来 我打算将IDE 的也弄好,结果竟然莫名其妙也运行成功了。因为开心所以我就写了第一篇博客。