Hadoop 算法实现
一、实验内容
使用 Hadoop 实现 WordCount 应用
WordCount 是一个最简单的分布式应用实例,主要功能是统计输入目录中
所有单词出现的总次数,如文本文件中有如下内容:
Hello world
则统计结果应为
Hello 1
world 1
WordCount 可以使用多种方式实现,本次实验内容选择使用 Hadoop 实
现 WordCount 程序,并完成对应实验报告
二、实验原理
1、配置 hadoop 环境
1)安装 java1.8,并配置环境变量
由于上学期的 java 课程已经安装配置过 jdk1.8.0_221,所以不需要再设置了
2)在官网下载 hadoop-2.7.7 安装包并配置环境变量
3)使用 notepad 编辑器打开
D:\hadoop-2.7.7\etc\hadoop\hadoop-env.cmd 修改 JAVA_HOME 的路
径,把 set JAVA_HOME 改为 jdk 的位置
4)新建 data 文件夹,并且在该文件夹下,新建两个文件夹 namenode 和
datanode
5)打 开 D:/hadoop-2.7.7/etc/hadoop/hdfs-site.xml , 修 改 路 径 为
hadoop 下的 namenode 和 datanode
6)编辑 mapred-site.xml 文件
7)编辑 yarn-site.xml 文件
8)在 D:\Hadoop-2.7.7 目录下 添加 tmp 文件夹
9)还需要把 hadoop.dll(从)拷贝到 C:\Windows\System32,不然在
window 平台使用 MapReduce 测试时报错。
10)以管理员身份打开命令提示符输入 hdfs namenode -format
11)转到 Hadoop-2.7.7\sbin 文件下输入 start-all,启动 hadoop 集群
12)出现下面四个窗口表示启动 hadoop 集群成功
13)输入 jps - 可以查看运行的所有节点
14)访问 http://localhost:50070,访问 hadoop 的 web 界面
15)访问 http://localhost:8088,访问 yarn 的 web 界面
三、WordCount 实现
1)首先在 hdfs 中创建一个文件夹,这里我起名字为 wordcount,并将 word
文件放入 hdfs 中的 input 内
2)用下面这个命令查看文件夹状态
3)用下面这个命令查看上传的文件内容
四、实验结果
运 行 share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar
这个 java 程序,调用 wordcount 方法。/wordcount/input/word.txt 是输入
参数,待处理的文件 /wordcount/output 是输出参数,保存处理后的数据的文
件夹名字
输出结果
实验成功
五、实验总结
这是第一次尝试使用 hadoop,在安装与配置的时候出现了很多问题:
①启动 Hadoop 集群之后,发现少了 namenode 节点,通过查询资料发现,是
因为 formate 超过两次导致的
②一开始没有办法打开 http://localhost:50070,查询发现需要将 hdfs-site.xml
中 localhost 改成主机名称才行。
通过这次实验锻炼了我的自学能力,通过自己查询资料解决遇到的问题。提高了
我对于 Hadoop 编程的认识。