一、下载所需文件
1.JDK 8 下载地址:点击打开链接
2.Hadoop 3.1.2下载地址:https://hadoop.apache.org/releases.html
3.Windows下安装Hadoop工具 winutils https://github.com/steveloughran/winutils
注意:这里要选择与hadoop 版本对应的 winutils https://github.com/steveloughran/winutils/tree/master/hadoop-3.0.0/bin
二、jdk8安装
1.不会看这里点击打开链接
三、Hadoop环境配置
下载Hadoop,并解压到你的本地目录,我下载的是hadoop-3.1.2版本,解压在D:\hadoop-3.1.2。
四、配置Hadoop的环境变量
路径:计算机 –>属性 –>高级系统设置 –>高级选项卡 –>环境变量 –> 单击新建
新建HADOOP_HOME变量 地址为D:\hadoop-3.1.2,示意图如下:
上图换成你自己的hadoop目录即可。
新建HADOOP_CONF_DIR变量 地址为 %HADOOP_PREFIX%\etc\hadoop,如下图:
新建YARN_CONF_DIR 变量 地址为%HADOOP_CONF_DIR%,如下图:
最后 path 添加%HADOOP_HOME%/bin
对于win10,最后的效果如下:
五、配置Hadoop文件
1.编辑“D:\hadoop-3.1.2\etc\hadoop”下的core-site.xml文件,将下列文本粘贴进去,并保存。
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>D:/hadoop-3.1.2/tmp</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/D:/hadoop-3.1.2/name</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
2.编辑“D:\hadoop-3.1.2\etc\hadoop”目录下的mapred-site.xml(如果不存在将mapred-site.xml.template重命名为mapred-site.xml)文件,粘贴一下内容并保存。
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://localhost:9001</value>
</property>
</configuration>
3.编辑“D:\hadoop-3.1.2\etc\hadoop”目录下的hdfs-site.xml文件,粘贴以下内容并保存。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/d:/hadoop-3.1.2/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/d:/hadoop-3.1.2/data/datanode</value>
</property>
</configuration>
4.编辑“D:\hadoop-3.1.2\etc\hadoop”目录下的yarn-site.xml文件,粘贴以下内容并保存。
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
5.编辑“D:\hadoop-3.1.2\etc\hadoop”目录下的hadoop-env.cmd文件,将JAVA_HOME用 @rem注释掉,
JAVA_HOME设置为
set JAVA_HOME=<填入你自己的JDK地址>,
并在尾部添加
set HADOOP_IDENT_STRING=%USERNAME%
set HADOOP_PREFIX=D:\hadoop-3.1.2
set HADOOP_CONF_DIR=%HADOOP_PREFIX%\etc\hadoop
set YARN_CONF_DIR=%HADOOP_CONF_DIR%
set PATH=%PATH%;%HADOOP_PREFIX%\bin
注意,这里有坑,如果你的JDK安装路径有空格,则必须用如下的软链接方法解决。
/** 问题如下:
在windows中安装hadoop,JAVA_HOME中如果有空格,就会报下面的错误
hadoop Error: JAVA_HOME is incorrectly set.
解决方案,设置软连接,重新配置JAVA_HOME
使用 cmd 创建软连接 ,例子如下:mklink /J D:\tools\java "D:\Program Files\Java\jdk1.7.0_67"
然后在hadoop-env.cmd里面设置:
set JAVA_HOME=D:\tools\java
**/
六、替换文件
下载winutils相关,hadoop在windows上运行需要winutils支持和hadoop.dll等文件。
下载对应版本的就可以,例如我用的是3.1.2,可以直接下载3.0.0的就好。然后将全部bin目录文件替换至hadoop目录下的bin目录
下载链接是:https://github.com/steveloughran/winutils/tree/master/hadoop-3.0.0/bin
运行hadoop
- 打开cmd,执行 hdfs namenode -format ,执行没有报错,说明成功。
- 然后进入hadoop目录下sbin文件夹,双击start-all.cmd (但是失败了)