windows搭建hadoop环境(解决HADOOP_HOME and hadoop.home.dir are unset)

一、软件安装

1、JDK1.8
链接:https://pan.baidu.com/s/1jqqWb-3JNMDW3DbvibYlJQ?pwd=agoi
提取码:agoi
2、hadoop-3.1.3版本
链接:https://pan.baidu.com/s/1cRkMc7LHPpza7n2oWqyLGw?pwd=ecid
提取码:ecid
3、winutils-master 3.1.1版本下载(windows下运行hadoop必须要下载这个!这个版本可以适用于hadoop3.1.x)
链接:https://pan.baidu.com/s/1K8i7opaqK4Ut76lU4yBcRQ?pwd=a6hh
提取码:a6hh

如果是hadoop其他版本,点击进入官网下载
*配套的winutils-master其他版本,网盘下载:
链接:https://pan.baidu.com/s/1jJthV7h-ynjk4MH6algIzg?pwd=p4aw
提取码:p4aw
*


java环境变量需要先配置,不过本文不做讲解,不会的自行百度。

二、hadoop环境配置

1、先解压下载好的winutils-master,进入bin目录,将winutils.exe和hadoop.dll复制到hadoop-3.1.3\bin下
windows搭建hadoop环境(解决HADOOP_HOME and hadoop.home.dir are unset)_第1张图片
windows搭建hadoop环境(解决HADOOP_HOME and hadoop.home.dir are unset)_第2张图片

2、然后将hadoop.dll复制到C:\Windows\System32中 否则 会报 Exception in thread "main"java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
windows搭建hadoop环境(解决HADOOP_HOME and hadoop.home.dir are unset)_第3张图片

3、配置hadoop环境变量,新建HADOOP_HOME
windows搭建hadoop环境(解决HADOOP_HOME and hadoop.home.dir are unset)_第4张图片

4、添加到path路径,%HADOOP_HOME%\bin;
windows搭建hadoop环境(解决HADOOP_HOME and hadoop.home.dir are unset)_第5张图片

5、打开cmd,输入hadoop version
windows搭建hadoop环境(解决HADOOP_HOME and hadoop.home.dir are unset)_第6张图片
如果出现上面的情况,则修改hadoop-env.cmd中的

JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_111

PS:因为Program Files中存在空格,若是直接使用会出现错误,可以进行如下处理: 只需要用PROGRA~1 代替Program Files,即改为C:\PROGRA~1\Java\jdk1.8.0_111
windows搭建hadoop环境(解决HADOOP_HOME and hadoop.home.dir are unset)_第7张图片
在这里插入图片描述

再次在cmd中输入hadoop version
在这里插入图片描述
这样就成功了


为什么要在windows上配置hadoop环境呢?因为想跑一个wordcount案例,如果打成jar包放到yarn上面跑,调试比较费时间。

以上可以解决下面这两个错误:
1、HADOOP_HOME and hadoop.home.dir are unset

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

如果还是报错,以下是解决错误的方法:

1.重启idea!是的,我重启后就不报错了
2.D:\hadoop-3.1.3/bin/winutils.exe 和hadoop.dll是不是和你正在使用的hadoop版本匹配

我的问题就是这个原因,我直接把官网上面下载回来的hadoop-3.1.3.tar.gz直接解压,然后随便去网上下载了winutils.exe和hadoop.dll丢进去bin目录(版本是3.0的),一运行就报错了 ,换成相同版本的winutils.exe,再重复以上1、2步骤,复制到bin目录下。

所以一定要和hadoop的版本匹配才行!(用我提供的版本是没有问题的)

3.如果还没有解决,就多参考其他文章,或者留言

你可能感兴趣的:(windows搭建hadoop,hadoop3.1.3,winutils-master,hadoop本地模式运行,wordcount本地模式报错)