为了每次执行hadoop的时候,不必须要前者加上hadoop的安装的绝对路径,要做的事情就是将其安装路径加入到PATH中,这样就可以直接执行hadoop命令。如下:
vim /etc/profile中加入一句
export HADOOP_INSTALL=/usr/local/hadoop1.1.2
注意这里要写HADOOP_INSTALL,因为如果写HADOOP_HOME会在执行命令的时候提醒该已经deprecated
然后将其bin加入到PATH中
export PATH=$HADOOP_INSTALL/bin:$PATH
在使用hadoop命令的时候,必须要保证Hadoop服务启动了。
基本文件命令:格式为:hadoop fs -cmd <args>
HDFS有一个默认的工作目录 /user/$USER,$USER就是当前登录的用户名,只有将文件放入HDFS上后,才可以运行Hadoop程序来处理它。
基本的参数如下,省略了前面的hadoop fs
注意这里的path不用加上/user/$USER,默认会自动的创建父目录
注意hadoop 2.0后,直接用hdfs dfs 替换 hadoop fs
在利用hadoop命令的时,默认的工作路径就是在/user/$USER
1. -ls path
列出path目录下的内容,包括文件名,权限,所有者,大小和修改时间。
2. -lsr path
与ls相似,但递归地显示子目录下的内容。
3. -du path
显示path下所有文件磁盘使用情况下,用字节大小表示,文件名用完整的HDFS协议前缀表示。
4. -dus path
与-du相似,但它还显示全部文件或目录磁盘使用情况
5. -mv src dest
在HDFS中,将文件或目录从HDFS的源路径移动到目标路径。
6. -cp src dest
在HDFS中,将src文件或目录复制到dest。
7. –rm path
删除一个文件或目录
8. –rmr path
删除一个文件或递归删除目录
注意:这里的mv cp操作的源路径和目的路径都是在HDFS中的路径文件
9. –put localSrc dest
将本地文件或目录localSrc上传到HDFS中的dest路径。
10. –copyFromLocal localSrc dest
与-put命令相同
11. –moveFromLocal localSrc dest
将文件或目录从localSrc上传到HDFS中的dest目录,再删除本地文件或目录localSrc。
12 –get [-crc] src localDest
将文件或目录从HDFS中的src拷贝到本地文件系统localDest。
13 –getmerge src localDest [addnl]
将在HDFS中满足路径src的文件合并到本地文件系统的一个文件localDest中。
14 –cat filename
显示文件内容到标准输出上。
15. -copyToLocal [-crc] src localDest
与-get命令相同。
16 -moveToLocal [-crc] src localDest
与-get命令相似,但拷贝结束后,删除HDFS上原文件。
17 -mkdir path
在HDFS中创建一个名为path的目录,如果它的上级目录不存在,也会被创建,如同linux中的mkidr –p。
18 -setrep [-R] [-w] rep path
设置目标文件的复制数。
19 -touchz path
创建一个文件。时间戳为当前时间,如果文件本就存在就失败,除非原文件长充为0。
20 -test –[ezd] path
如果路径(path)存在,返回1,长度为0(zero),或是一个目录(directory)。
21 –stat [format] path
显示文件所占块数(%b),文件名(%n),块大小(%n),复制数(%r),修改时间(%y%Y)。
22 –tail [-f] file
显示文件最后的1KB内容到标准输出。
23 –chmod [-R] [owner][:[group]] path…
递归修改时带上-R参数,mode是一个3位的8进制数,或是[augo]+/-{rwxX}。
24 –chgrp [-R] group
设置文件或目录的所有组,递归修改目录时用-R参数。
25 –help cmd
显示cmd命令的使用信息,你需要把命令的“-”去掉
本文转自 zhao_xiao_long 51CTO博客,原文链接:http://blog.51cto.com/computerdragon/1259214