Hadoop伪分布式运行wordcount小例子

原文:http://blog.csdn.net/dr_guo/article/details/50890582

先说点小知识

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

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

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

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

[plain]  view plain  copy
 
  1. guo@guo:/opt/Hadoop/hadoop-2.7.2# hdfs dfs -mkdir /data/input  
  2. guo@guo:/opt/Hadoop/hadoop-2.7.2# hdfs dfs -mkdir /data/output  

注意:HDFS没有当前工作目录的概念,所有文件元数据都存在namenode节点上,某一个文件可能被拆放到不同机器上,也可能将路径不同的文件放在同一台机器上。所以你在硬盘上是找不到刚才创建的目录的。


//当我执行该指令的时候,一直报错 “”mkdir: `input': No such file or directory“”

到网上查找了很多资料,最终尝试使用:hdfs dfs -mkdir -p /data/input  竟然成功了,不知道-p有什么用,接下来的都能运行了。


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

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

[plain]  view plain  copy
 
  1. guo@guo:/opt/Hadoop/hadoop-2.7.2# cd /opt/Hadoop/hadoop-2.7.2/share/hadoop/mapreduce/  
运行wordcount

[plain]  view plain  copy
 
  1. 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

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

查看统计结果

[plain]  view plain  copy
 
  1. guo@guo:/opt/Hadoop/hadoop-2.7.2/share/hadoop/mapreduce# hdfs dfs -cat /data/output/result  
  2. /part-r-00000  
  3. ->   2  
  4. -rw-------  5  
  5. -rw-r--r--  5  
  6. -rw-rw-r--  2  
  7. ../ 1  
  8. ./  1  
  9. .ICEauthority   1  
  10. .Private    1  
  11. .Xauthority 1  
  12. .bash_history   1  
  13. .bash_logout    1  
  14. .bashrc 1  
  15. .cache/ 1  
  16. .config/    1  
  17. .dbus/  1  
  18. .ecryptfs   1  
  19. .gconf/ 1  
  20. .gvfs/  1  
  21. .local/ 1  
  22. .mozilla/   1  
  23. .presage/   1  
  24. .profile    1  
  25. .sudo_as_admin_successful   1  
  26. .xinputrc   1  
  27. .xsession-errors    1  
  28. .xsession-errors.old    1  
  29. /home/.ecryptfs/guo/.Private/   1  
  30. /home/.ecryptfs/guo/.ecryptfs/  1  
  31. 0   2  
  32. 1   16  
这个wordcount没有那么智能,它只是按空格来分辨是不是一个单词的。

你可能感兴趣的:(Hadoop)