02 HDFS的命令行操作

在安装好Hadoop之后,我们来熟悉在命令行界面当中操作分布式文件存储组件HDFS。 HDFS是Hadoop大数据平台中的分布式文件系统,为上层应用或其他大数据组件提供数据存储,如Hive,Mapreduce,Spark,HBase等。

1 系统、软件以及前提约束

2 基本操作

​ 注意:"# ./hdfs dfs -ls /"命令前的"#"代表当前登录用户是root。运行路径位于hadoop目录中的bin文件夹下。命令中的"."代表当前目录。命令中涉及的info文件需要提前创建好。如下图所示:

2.1 -ls 功能:显示目录信息。

# ./hdfs dfs -ls /
drwxr-xr-x   - root supergroup          0 2018-07-30 00:09 /hbase
drwxr-xr-x   - root supergroup          0 2018-06-23 15:22 /output
drwx------   - root supergroup          0 2018-07-31 00:32 /tmp
drwxr-xr-x   - root supergroup          0 2018-07-31 00:41 /user
-rw-r--r--   2 root supergroup         77 2018-04-22 02:34 /wordcount

2.2 -mkdir 功能:在HDFS文件系统上创建目录。

# ./hdfs dfs -mkdir /wanhe
# ./hdfs dfs -ls /
drwxr-xr-x   - root supergroup          0 2018-07-30 00:09 /hbase
drwxr-xr-x   - root supergroup          0 2018-06-23 15:22 /output
drwx------   - root supergroup          0 2018-07-31 00:32 /tmp
drwxr-xr-x   - root supergroup          0 2018-07-31 00:41 /user
drwxr-xr-x   - root supergroup          0 2018-09-12 18:00 /wanhe
-rw-r--r--   2 root supergroup         77 2018-04-22 02:34 /wordcount

2.3 -put 功能:上传本地文件到HDFS指定目录。

# ./hdfs dfs -put info /wanhe
# ./hdfs dfs -ls /wanhe
-rw-r--r--   2 root supergroup         38 2018-09-12 18:10 /wanhe/info

2.4 -get 功能:从hdfs下载文件到本地。

# rm -rf info
# ls
container-executor  hadoop  hadoop.cmd  hdfs  hdfs.cmd  mapred  mapred.cmd  rcc  test-container-executor  yarn  yarn.cmd
# ./hdfs dfs -get /wanhe/info ./
# ls
container-executor  hadoop  hadoop.cmd  hdfs  hdfs.cmd  info  mapred  mapred.cmd  rcc  test-container-executor  yarn  yarn.cmd

2.5 -rm 功能:从HDFS删除文件。

# ./hdfs dfs -rm /wanhe/info
# ./hdfs dfs -ls /wanhe
空

2.6 -moveFromLocal 功能:剪切本地文件到HDFS

# ./hdfs dfs -moveFromLocal info /wanhe
# ./hdfs dfs -ls /wanhe
-rw-r--r--   2 root supergroup         38 2018-09-12 22:04 /wanhe/info
# ls
container-executor  hadoop  hadoop.cmd  hdfs  hdfs.cmd  mapred  mapred.cmd  rcc  test-container-executor  yarn  yarn.cmd

2.7 -cat 功能:显示文件内容。

# ./hdfs dfs -cat /wanhe/info
 jiangsuwanhe

2.8 -appendToFile 功能:在文件末尾追加数据。

# ./hdfs dfs -appendToFile info /wanhe/info
 # ./hdfs dfs -cat /wanhe/info
 jiangsuwanhe
 jiangsuwanhe

2.9 -chmod 功能:更改文件所属权限。

# ./hdfs dfs -ls /wanhe
-rw-r--r--   2 root supergroup         51 2018-09-12 22:13 /wanhe/info
# ./hdfs dfs -chmod 777 /wanhe/info
# ./hdfs dfs -ls /wanhe
-rwxrwxrwx   2 root supergroup         51 2018-09-12 22:13 /wanhe/info

2.10 -cp 功能:实现文件的拷贝。

将/wanhe/info拷贝到/tmp下:
# ./hdfs dfs -cp /wanhe/info /tmp/
# ./hdfs dfs -ls /tmp
-rw-r--r--   2 root supergroup         51 2018-09-12 22:20 /tmp/info

2.11 -mv 功能:移动文件。

将/wanhe/info移动到 /user下
# ./hdfs dfs -mv /wanhe/info /user/
# ./hdfs dfs -ls /wanhe
空
# ./hdfs dfs -ls /user
-rwxrwxrwx   2 root supergroup         51 2018-09-12 22:13 /user/info

2.12 -df 功能:统计文件系统的可用空间信息。

# ./hdfs dfs -df -h /
Filesystem            Size   Used  Available  Use%
hdfs://master:9000  17.5 G  352 K     11.4 G    0%

2.13 -du 功能:统计文件夹的大小信息。

# ./hdfs dfs -du /user
51  /user/info

2.14 -count 功能: 统计一个指定目录下的文件数量。

# ./hdfs dfs -count /user
 2            1                 51 /user
 第一列2表示/user/下文件夹的数量,第二列1表示/user/下文件的个数。51表示/user/目录下所有文件占用的磁盘容量(不计算副本个数)。

3 总结

​ HDFS中的命令行操作类似于linux命令,熟练使用linux命令便可以熟练的使用命令行操作HDFS。

猜你喜欢

转载自blog.csdn.net/weixin_34033624/article/details/90772904