参考文档:
Hadoop2.9.1Hadoop3.1.1

一、简介

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。

二、常用命令

hdfs命令是hadoop命令的实现

1. hadoop fs -help <cmd-name>
#返回使用下面列出的命令之一信息。必须省略了'-' 字符在cmd。

2. hadoop fs -ls '/home/ask/answers/pdate=2014-12-18/'  
#列出路径指定的目录中的内容,示出了名称,权限,拥有者,大小和修改日期的每个条目。

3. hadoop fs -lsr '/home/ask/answers/pdate=2014-12-18/'
#行为类似于-ls,但递归显示路径的所有子目录项。

4. hadoop fs -du '/home/ask/answers/pdate=2014-12-18/'
#显示磁盘使用率,以字节为单位,对所有的文件,这些文件匹配的路径;文件名报告使用完整HDFS协议前缀。

5. hadoop fs -dus '/home/ask/answers/pdate=2014-12-18/'
#类似-du,但打印路径中的所有文件/目录的磁盘使用情况的摘要。

6. hadoop fs -mv '/home/ask/answers/pdate=2014-12-18/' '/histo'
#通过移动表示src到dest,在HDFS的文件或目录。

7. hadoop fs -cp '/home/ask/answers/pdate=2014-12-18/' '/histo'
#在HDFS复制确定src中的文件或目录到dest。

8. hadoop fs -rm '/home/ask/answers/pdate=2014-12-18/'
#删除文件或路径标识的空目录。

9. hadoop fs -rmr '/home/ask/answers/pdate=2014-12-18/'
#删除路径标识的文件或目录。递归删除所有子条目(例如,文件或路径的子目录)。

10. hadoop fs -put './local' '/histo'
#从本地localSrc文件系统中的DFS标识文件或目录内复制到dest。

11. hadoop fs -copyFromLocal './local' '/histo'
#等同于-put

12. hadoop fs -moveFromLocal './local' '/histo'
#从标识 localSrc本地文件系统中的文件或目录中HDFS复制到dest,然后删除本地副本上成功。

13. hadoop fs -get '/histo' './local' 
#拷贝标识 src来确定HDFS文件或目录,get只能复制一个文件, localDest本地文件系统路径

14. hadoop fs -getmerge '/histo' './local'
#检索匹配的路径的src HDFS中的所有文件,并将它们复制合并文件到标识localDest本地文件系统中。

15. hadoop fs -cat '/home/ask/answers/pdate=2014-12-18/answers_2014-12-18.txt'
#显示在标准输出文件名的内容。

16. hadoop fs -copyToLocal <src> <localDest>
#等同于 -get

17. hadoop fs -moveToLocal <src> <localDest>
#工作方式类似于-get,但删除HDFS复制成功。

18. hadoop fs -mkdir <path>
#在创建一个HDFS命名的目录路径。创建任何父目录的路径丢失(例如,命令mkdir-p在Linux中)。

19. hadoop fs -setrep 副本数 <path>
#设置hdfs文件的副本数;这里设置的副本数只是记录在 NameNode 的元数据中,是否真的会有这么多副本,
还得看 DataNode 的数量。因为目前只有 3 台设备,最多也就 3 个副本,只有节点数的增加到 10 台时,
副本数才能达到 10。

20. hadoop fs -touchz <path>
#创建在路径包含当前时间作为时间戳的文件。失败如果文件已经存在于路径,除非文件已经大小为0。

21. hadoop fs -test -[ezd] <path>
#返回1,如果路径存在;长度为零;或者是一个目录,否则为0。

22. hadoop fs -stat [format] <path>
#打印有关的路径信息。格式是接受块文件大小(%b),文件名(%n),块大小(%o),复制(%r)和修改日期(%y,%Y)的字符串。

23. hadoop fs -tail [-f] <file2name>
#显示在标准输出文件的最后1KB。

24. hadoop fs -chmod [-R] mode,mode,... <path>...
#变化符合路径标识的一个或多个对象关联的文件权限....递归执行变更与R.模式是3位八进制模式,或{augo}+/-{rwxX}。假设如果没有指定范围,则不适用umask。

25. hadoop fs -chown [-R] [owner][:[group]] <path>...
#设置拥有用户和/或组标识路径的文件或目录....设置所有者递归,如果指定-R。

26. hadoop fs -chgrp [-R] group <path>...
#设置所属组标识路径的文件或目录....设置组递归,如果指定-R。

三、hdfs命令