环境
主机:Windows 10
Hadoop:2.7.7
Java:1.8.0_241
步骤
1、确认Java已经安装,并已经添加到环境变量中,测试方法:cmd中输入java -version,显示如下:

2、下载 hadoop binary,解压后修改以下配置文件:
1)hadoop-2.7.1/etc/hadoop/hadoop-env.cmd,把JAVA_HOME的值修改为本机上jdk的路径,注意路径上不能有空格,jdk装在Program File文件夹下的同学可以这么写:
1 | # 若JDK安装路径有空格 |
此时在hadoop根目录下的bin文件夹下,你可以输入hadoop version查看你的hadoop版本了。

2)hadoop-2.7.5/etc/hadoop/core-site.xml
1 | <configuration> |
3)hadoop-2.7.5/etc/hadoop/mapred-site.xml
1 | <configuration> |
4)hadoop-2.7.1/etc/hadoop/hdfs-site.xml
1 | <configuration> |
注意把/d:/software/hadoop-2.7.5替换成你的hadoop根目录
5)hadoop-2.7.5/etc/hadoop/yarn-site.xml
1 | <configuration> |
3、 启动hadoop
1)在bin目录下输入hadoop namenode -format,应该能看到这样的结果:

2)在sbin目录下输入start-all,会有多个cmd窗口被创建,此时输入jps,应当看到如下结果:

有时会遇到DataNode创建失败的情况,删除根目录下data/datanode文件夹再start-all解决问题。
3)在浏览器中输入localhost:50070应当能看到如下网页:

4)输入localhost:8088页面如下:

4、停止hadoop
在bin目录下输入stop-all
Wordcount运行
Hadoop基于HDFS(Hadoop Distributed File System)这一文件系统管理文件,使用指令hadoop fs -op <args>可以对HDFS进行操作。
1)我们先在HDFS中创建一个输入文件夹:
1 | # hdfs dfsadmin -safemode leave |
当你发现直接-mkdir失败时,加上第一条里面的注释掉的内容就OK了。你可以通过hadoop fs -ls /查看HDFS根目录下的文件,应当已经包含了/input文件夹。你可以用hdfs fs -rmr /input删除这一文件夹。
2)在本地创建两个文本文件,上传到/input文件夹:
1 | hadoop fs -put *.txt /input |
这样我们输入就准备好了,确认一下:

3)运行示例jar包:
1 | hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /input /output |
一开始报错createSymbolicError,解决方案:运行->gpedit.msc->计算机配置->Windows设置->安全设置->本地策略->用户权限分配->创建符号链接,添加你的用户名。然后重启电脑,再运行就ok了。附上成功的截图:

1 | hadoop fs -ls /output |
输出文件在output/part-r-00000,通过命令hadoop fs -cat /output/part-r-00000查看内容。
Referencen: