Hadoop伪分布式运行wordcount小例子

先说点小知识

hadoop fs 使用面最广,可以操作任何文件系统

hadoop dfs和hdfs dfs只能操作HDFS相关的

在上一篇博客中,我们已经成功启动了HDFS和YARN,接下来

先建数据存放目录和结果输出目录

guo@guo:/opt/Hadoop/hadoop-2.7.2# hdfs dfs -mkdir /data/input
guo@guo:/opt/Hadoop/hadoop-2.7.2# hdfs dfs -mkdir /data/output
注意:HDFS没有当前工作目录的概念,所有文件元数据都存在namenode节点上,某一个文件可能被拆放到不同机器上,也可能将路径不同的文件放在同一台机器上。所以你在硬盘上是找不到 刚才创建的目录的。


将要进行统计的数据上传到刚才创建的存放目录

guo@guo:/opt/Hadoop/hadoop-2.7.2# hdfs dfs -put test.log /data/input
guo@guo:/opt/Hadoop/hadoop-2.7.2# hdfs dfs -ls /data/input
Found 1 items
-rw-r--r--   1 root supergroup       1819 2016-03-14 21:17 /data/input/test.log
进入mapreduce目录

guo@guo:/opt/Hadoop/hadoop-2.7.2# cd /opt/Hadoop/hadoop-2.7.2/share/hadoop/mapreduce/
运行wordcount

guo@guo:/opt/Hadoop/hadoop-2.7.2/share/hadoop/mapreduce# hadoop jar hadoop-mapreduce-examples-2.7.2.jar wordcount /data/input /data/output/result
查看result

guo@guo:/opt/Hadoop/hadoop-2.7.2/share/hadoop/mapreduce# hdfs dfs -ls /data/output/result
Found 2 items
-rw-r--r--   1 root supergroup          0 2016-03-14 22:16 /data/output/result/_SUCCESS
-rw-r--r--   1 root supergroup        855 2016-03-14 22:16 /data/output/result/part-r-00000
注意:第一个_SUCCESS是没有任何东西的0B,它只是告诉你运行成功了,结果在part-r-00000中

查看统计结果

guo@guo:/opt/Hadoop/hadoop-2.7.2/share/hadoop/mapreduce# hdfs dfs -cat /data/output/result
/part-r-00000
->	2
-rw-------	5
-rw-r--r--	5
-rw-rw-r--	2
../	1
./	1
.ICEauthority	1
.Private	1
.Xauthority	1
.bash_history	1
.bash_logout	1
.bashrc	1
.cache/	1
.config/	1
.dbus/	1
.ecryptfs	1
.gconf/	1
.gvfs/	1
.local/	1
.mozilla/	1
.presage/	1
.profile	1
.sudo_as_admin_successful	1
.xinputrc	1
.xsession-errors	1
.xsession-errors.old	1
/home/.ecryptfs/guo/.Private/	1
/home/.ecryptfs/guo/.ecryptfs/	1
0	2
1	16
这个wordcount没有那么智能,它只是按空格来分辨是不是一个单词的。

你可能感兴趣的:(Hadoop伪分布式运行wordcount小例子)