Windows本地IDEA运行mapreduce报错java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.

先确保Hadoop是否安装:

Apache Hadoop

官网下载地址

注意对应版本号

配置环境变量HADOOP_HOME后cmd检查版本和是否配置成功:

Hadoop version

此外,windows本地运行需要winutils.exe

winutils:

由于hadoop主要基于linux编写,winutil.exe主要用于模拟linux下的目录环境。当Hadoop在windows下运行或调用远程Hadoop集群的时候,需要该辅助程序才能运行。winutils是Windows中的二进制文件,适用于不同版本的Hadoop系统并构建在Windows VM上,该VM用以在Windows系统中测试Hadoop相关的应用程序。

winutils下载地址:

https://github.com/cdarlint/winutils

如果没有匹配的版本,下载相近的版本

下载后替换原Hadoop的bin文件。

winutils版本不匹配可能引起的错误:

org.apache.hadoop.io.nativeio.NativeIO$POSIX.stat(Ljava/lang/String;)

更换相匹配版本可解决。

参考:

https://www.freesion.com/article/5997398294/

https://blog.csdn.net/cjl13694270972/article/details/114374984

你可能感兴趣的:(hadoop,mapreduce,intellij-idea)