您的位置:首页 > 运维架构

hadoop中的一些基本操作及wordcount的运行操作示范

2014-03-14 18:23 260 查看
一、HDFS常用操作

       先粗略说一下“hadoop fs”和“hadoop dfs”的区别:fs是各比较抽象的层面,在分布式环境中,fs就是dfs,但在本地环境中,fs是local file system,这个时候dfs不可用。

       1、列出HDFS文件:

hadoop fs -ls
             a) –ls后面不跟任何内容的话是列出HDFS的“home”目录下的内容

             b) 如果要列出某个文件夹中的内容,则-ls后面跟该文件夹的路径,例如列出input中的内容:

hadoop fs -ls input
       2、在HDFS中创建文件夹:

hadoop fs –mkdir 文件夹的名字
             例如:

hadoop fs –mkdir input
       3、删除HDFS中的文件或文件夹

hadoop fs –rmr 文件夹名或者文件名
 
4、上传文件到HDFS:

hadoop fs –put ~/file test
             将本机中的file文件上传到HDFS上并重命名为test

             如果要上传到某个文件夹中,则将test改为文件夹的地址,此时,上传的文件名称不会改变,例如将本地文件

             夹test中的文件test1.txt,test2.txt,test3.txt上传到HDFS中的input中:

hadoop fs –put ~/test/test*.txt input
       5、查看HDFS下的某个文件:

hadoop fs –cat 文件路径
             例如查看input中的test文件的内容:

hadoop fs –cat input/test
       6、将HDFS中的文件复制到本地系统中(这个命令暂时笔者还没用过):

hadoop fs –get HDFS中的文件名本地系统中的文件名
             例如将HDFS中的output文件复制到本地系统中并命名为getout

hadoop fs –get output getout
       7、进入/退出安全模式

             有时,在hadoop启动时不能对文件系统进行如创建文件,删除文件之类的操作,此时,文件系统所处的状 态             叫做安全模式,用途大家可以到网上搜一搜,笔者不在这里赘述。

hadoop dfsadmin –safemode enter
hadoop dfsadmin –safemode leave
 

二、wordcount程序的运行

     ①  先创建一个用于存放数据的文件夹input

hadoop fs -mkdir input
             


      ②  将用于测试的文件上传到input中:

hadoop fs -put/home/kevin/Documents/WordCount/wordcounttext*.txt input          

      ③  运行wordcount程序:

   


其中,hadoop jar表示执行jar包中的程序,第三段(/home/kevin/Documents/Practice.jar)表示jar包在本地系统

中的地址,第四段(practice.wordcount.WordCount)表示程序在jar包中的地址,第五段(input)表示测试文

件在hdfs中的地址,第六段(output)表示输出文件存放的文件夹,这个文件夹在程序运行前不能存
在,否则

程序要报错,

     ④  显示输出文件的内容(请根据各自运行的结果来输入命令):

             显示输出文件的内容:

hadoop fs -ls output
             显示输出结果的内容:

hadoop fs –cat output/part-r-00000
             


             在此,一个程序就运行完了~~~~~~

笔者再次献丑了,如果大家有疑问,可以到下面的网站去找找答案,该网站的作者很专业

http://www.cnblogs.com/xia520pi/archive/2012/05/28/2520813.html

http://www.cnblogs.com/xia520pi/archive/2012/04/08/2437875.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息