一、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