一. 分布文件系统和HDFS:
其实我们可以把分布式文件系统HDFS理解为windows文件系统, 可以在文件夹里面分门别类地存放文件, 只不过HDFS通过网络把文件存放在多台主机上
二. HDFS的shell操作:
HDFS是存取数据的分布式文件系统, 对HDFS的操作就是文件系统的基本操作, 比如文件的创建、修改、删除、修改权限等
对HDFS的操作命令类似Linux的shell对文件的操作, 如: ls、mkdir、rm等
注意:hadoop没有当前目录的概念,也没有cd命令
HDFS命令选项:
1. - ls 显示当前目录结构
命令: hadoop fs -ls /
root@zhangdongping:/usr# hadoop fs -ls /
Found 3 items
drwxr-xr-x - root supergroup 0 2014-11-11 20:53 /d1
-rw-r--r-- 1 root supergroup 20 2014-11-11 20:54 /d2
drwxr-xr-x - root supergroup 0 2014-11-11 20:34 /usr
root@zhangdongping:/usr#
首字母表示文件夹(如果是“d”) 或文件(如果是“-”);后面的9 位字符表示权限;
后面的数字或者“-”表示副本数。如果是文件,使用数字表示副本数;文件夹没有副本;
后面的“root”表示属主;
后面的“supergroup”表示属组;
后面的“0”、“6176”、“37645”表示文件大小,单位是字节;
后面的时间表示修改时间,格式是年月日时分;
最后一项表示文件路径。
2. -lsr递归显示目录
命令: hadoop fs -lsr /usr
该命令选项表示递归显示当前路径的目录结构, 后面跟hdfs路径
root@zhangdongping:/usr# hadoop fs -lsr /usr
drwxr-xr-x - root supergroup 0 2014-11-11 20:48 /usr/local
drwxr-xr-x - root supergroup 0 2014-11-11 20:48 /usr/local/hadoop
drwxr-xr-x - root supergroup 0 2014-11-11 20:48 /usr/local/hadoop/tmp
drwxr-xr-x - root supergroup 0 2014-11-18 22:55 /usr/local/hadoop/tmp/mapred
drwx------ - root supergroup 0 2014-11-18 22:55 /usr/local/hadoop/tmp/mapred/system
-rw------- 1 root supergroup 4 2014-11-18 22:55 /usr/local/hadoop/tmp/mapred/system/jobtracker.info
3. -du 统计目录下各文件大小
命令: hadoop fs -du /usr
该命令显示指定路径下的文件大小, 单位是字节
root@zhangdongping:/usr# hadoop fs -du /usr
Found 1 items
4 hdfs://zhangdongping:9000/usr/local
4. -dus 汇总统计目录下文件大小
命令: hadoop fs -dus /usr
该命令显示指定路径的文件大小, 单位是字节
root@zhangdongping:/usr# hadoop fs -dus /usr
hdfs://zhangdongping:9000/usr 4
5. -count 统计文件(夹)数量
命令: hadoop fs -count /usr
该命令显示指定路径下的文件夹数量、文件数量、文件总大小信息
root@zhangdongping:/usr# hadoop fs -count /usr
6 1 4 hdfs://zhangdongping:9000/usr
root@zhangdongping:/usr# hadoop fs -lsr /usr
drwxr-xr-x - root supergroup 0 2014-11-11 20:48 /usr/local
drwxr-xr-x - root supergroup 0 2014-11-11 20:48 /usr/local/hadoop
drwxr-xr-x - root supergroup 0 2014-11-11 20:48 /usr/local/hadoop/tmp
drwxr-xr-x - root supergroup 0 2014-11-18 22:55 /usr/local/hadoop/tmp/mapred
drwx------ - root supergroup 0 2014-11-18 22:55 /usr/local/hadoop/tmp/mapred/system
-rw------- 1 root supergroup 4 2014-11-18 22:55 /usr/local/hadoop/tmp/mapred/system/jobtracker.info
6. -mv 移动
命令: hadoop fs -mv /usr/root/abc /usr
该命令表示移动hdfs的文件到指定的hdfs目录中, 后面跟两个路径, 第一个表示源文件, 第二个表示目的目录
7. -cp 复制