第一次在hadoop上执行wordcount程序,原来是照着书上一步步来的,发现书上记录的都不是特别明确,仅有主要的命令,对于我这个小白来说,一敲命令就出来错简直太打击学习积极性了。于是把详细过程记录一下,仅是学习笔记。
默认已配置好hadoop(我是伪分布的模式)
(1)首先 登陆hadoop
ssh localhost
(2)启动hadoop
bin/start-all.sh
(3)在hadoop下创建目录
mkdir input
(4)在input下放入一些文档
(5)将文档上传至distributed filesystem
hadoop fs -put input input
第一个input是local的 第二个是dfs的,hadoop会把local的input里所有文件上传到dfs
(6)运行wordcount程序(在安装目录下)
hadoop jar hadoop-examples-1.0.4.jar wordcount input output
hadoop jar表示运行一个java程序;
input 和output是wordcount的两个参数用于放置待处理的文件和处理好的文件
(7)查看输出文件:
hadoop fs -ls output/
会列出两个文件和一个目录,结果在part-r-00000
(8)查看结果:
hadoop fs -ls output/part-r-00000
(9)运行完后,input和output还放在分布式文件系统中,需要清除否则下次运行会失败
hadoop fs -rmr input
hadoop fs -rmr output
(10)差点忘了,用完了记得关闭:
bin/stop-all.sh
下次运行还需要向分布式文件系统中传入input哦,不然没有可处理的数据嘛!
总结
hadoop fs 运行一个普通文件系统用户客户端,我理解为登录到了文件系统;然后就要用文件系统的命令对dfs进行操作啦。
本次实验用到的命令有:
-ls 列出dfs的文件 ;
-cat 显示文件;
-put 向dfs放入文件;-put <localsrc> ...<dst>
-rmr 删除dfs里的文件
这个博客不错,最初一点概念都没有,照葫芦画瓢,看了之后稍微清晰些了:
http://www.cnblogs.com/xia520pi/archive/2012/05/16/2504205.html