先说点小知识
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没有那么智能,它只是按空格来分辨是不是一个单词的。