hadoop2.7.1下的单词统计

hadoop2.7.1下的单词统计(hadoop自带jar包)

注意:(本文的路径有点长,要注意对应的路径)
1、搭建好了集群式hadoop以后,测试一下小程序,本文测试的是hadoop的Wordcount程序,也就是一个简单的单词统计程序。先启动hadoop

2、hadoop的Wordcount程序是hadoop自带的一个小小的案例,可以在hadoop的解压包里找到这个jar文件其路径是(/usr/local/hadoop/share/hadoop/mapreduce)路径下的hadoop-mapreduce-examples-2.7.1.jar  包。
执行如下命令:

$ cd /usr/local/hadoop/share/hadoop/mapreduce
$ hadoop jar hadoop-mapreduce-examples-2.7.1.jar
 
下面直接上图:




从这个截图中可以清晰的看到hadoop-mapreduce-examples-2.7.1.jar文件不只有一个Wordcount一个小案例,还有其他的小案例,但是现在我们是测试一下我们的hadoop到底是怎么运行的,所以就用一个简单的Wordcount程序就OK了。线面按照命令执行就一路畅通


3、测试看看hadoop-mapreduce-examples-2.7.1.jar Wordcount这里面有什么小东东
执行如下命令: 
$ hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount


根据上面显示。说明要我们输入文件和输出,下面我们就要开始输入要测试的单词文本了。

4、为了方便使用hadoop-mapreduce-examples-2.7.1.jar文件,在/usr/local/hadoop/share/hadoop/mapreduce目录下创建一个文件
执行如下命令:
$ mkdir input1
$ cd input1
$ echo "Hello hadoop , I'm xiao ming" > f1.txt
$ echo "Hello world , I'm zhao ming ming" > f2.txt
$ ls
$ cat f1.txt f2.txt

如图:/


我的截图有文字有说明,非常清楚,我就不再啰嗦。

5、要在HDFS上运行文件,我们也要在HDFS上新建一个文件,这里同样也是创建的名字为input1的文件。以便后以后使用的时候统一,其实命名为什么名字都一样。
执行如下命令:
$ cd
$ cd /usr/local/hadoop
$ hadoop fs -mkdir /input1



6、目录创建好了以后,把刚才的本地文件(/usr/local/hadoop/share/hadoop/mapreduce/input1)传输到HDFS上。执行如下命令:
$ cd /usr/local/hadoop/share/hadoop/mapreduce
$ hadoop fs -put input1/f*.txt /input1
$ hadoop fs -ls /input1



7、运行程序执行如下命令:

$ hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount /input1/ /output1/

下图的map和reduce的进度为100%表示运行处理结束。



8、程序运行完以后,要查看一下单词统计的结果是什么玩意儿,执行如下命令:

$ hadoop fs -ls /output1/*


$ hadoop fs -cat /output/*



哈哈,gameover,统计出来的结果如上图所示。
在HDFS上运行完以后,想删掉输入输出,执行:

$ hadoop fs -rmr /input1
$ hadoop fs -rmr /output1