您的位置 首页 java

十四、HDFS常见操作命令

创建文件目录

 [ hadoop @node01 ~]$  HDFS  dfs -mkdir -p /user/hadoop
[hadoop@node01 ~]$ hdfs dfs -mkdir -p /user/sqoop  

通过命令查看文件目录

 [hadoop@node01 ~]$ hdfs dfs -ls -R /
drwxr-xr-x   - hadoop supergroup          0 2020-06-22 15:21 /user
drwxr-xr-x   - hadoop supergroup          0 2020-06-22 15:19 /user/hadoop
drwxr-xr-x   - hadoop supergroup          0 2020-06-22 15:21 /user/sqoop  

把本地文件上传到HDFS

 # 先在本地建立一个word.txt
[hadoop@node01 ~]$ vim word.txt
 
# 把文件上传到HDFS上的/user/hadoop目录下
[hadoop@node01 ~]$ hdfs dfs -copyFromLocal word.txt /user/hadoop

# 查看文件
[hadoop@node01 ~]$ hdfs dfs -ls /user/hadoop
Found 1 items
-rw-r--r--   3 hadoop supergroup        104 2020-06-22 15:25 /user/hadoop/word.txt
 
# 再次上传该文件到该目录(如果需要覆盖,需要加-f参数)
 [hadoop@node01 ~]$ hdfs dfs -copyFromLocal word.txt /user/hadoop
copyFromLocal: '/user/hadoop/word.txt': File exists

[hadoop@node01 ~]$ hdfs dfs -copyFromLocal -f word.txt /user/hadoop  

查看文件的内容

 [hadoop@node01 ~]$ hdfs dfs -cat /user/hadoop/word.txt
2020-06-22 15:28:40,023 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted =  false , remoteHostTrusted = false
hello world
hello hadoop
hello world
hello hadoop
hello java
hello scala
hello python
hello hadoop hdfs  

用put方式上传本地文件

 [hadoop@node01 ~]$ hdfs dfs -put mywords.txt /user/hadoop
# 再次上传
[hadoop@node01 ~]$  hdfs  dfs -put mywords.txt -f /user/hadoop
# 一次上传多个文件
[hadoop@node01 ~]$ hdfs dfs -put t1.txt t2.txt /user/hadoop

# 显示文件列表
[hadoop@node01 ~]$ hdfs dfs -ls /user/hadoop
Found 4 items
-rw-r--r--   3 hadoop supergroup         15 2020-06-22 15:30 /user/hadoop/mywords.txt
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:31 /user/hadoop/t1.txt
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:31 /user/hadoop/t2.txt
-rw-r--r--   3 hadoop supergroup        104 2020-06-22 15:27 /user/hadoop/word.txt  

从hdfs上下载文件到本地

 [hadoop@node01 ~]$ hdfs dfs -get /user/hadoop/t1.txt  

在hdfs上创建文件

 [hadoop@node01 ~]$ hdfs dfs -touchz /user/hadoop/flag.txt
[hadoop@node01 ~]$ hdfs dfs -ls /user/hadoop
Found 5 items
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:40 /user/hadoop/flag.txt
-rw-r--r--   3 hadoop supergroup         15 2020-06-22 15:30 /user/hadoop/mywords.txt
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:31 /user/hadoop/t1.txt
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:31 /user/hadoop/t2.txt
-rw-r--r--   3 hadoop supergroup        104 2020-06-22 15:27 /user/hadoop/word.txt  

在hdfs上移动文件

 [hadoop@node01 ~]$ hdfs dfs -mv /user/hadoop/flag.txt /user/sqoop
[hadoop@node01 ~]$ hdfs dfs -ls /user/sqoop
Found 1 items
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:40 /user/sqoop/flag.txt  

查看文件大小

 [hadoop@node01 ~]$ hdfs dfs -du -h /user/hadoop
15   45   /user/hadoop/mywords.txt
0    0    /user/hadoop/t1.txt
0    0    /user/hadoop/t2.txt
104  312  /user/hadoop/word.txt
[hadoop@node01 ~]$ hdfs dfs -ls -h /user/hadoop  

查看hdfs总共大小

 [hadoop@node01 ~]$ hdfs dfs -df -h
Filesystem           Size  Used  Available  Use%
hdfs://mycluster  149.9 G  72 K    143.1 G    0%  

删除文件

 [hadoop@node01 ~]$ hdfs dfs -ls /user/hadoop/test 
Found 4 items
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:50 /user/hadoop/test/test.txt
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:51 /user/hadoop/test/test1.txt
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:51 /user/hadoop/test/test2.txt
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:51 /user/hadoop/test/test3.txt

# 删除test1.txt
[hadoop@node01 ~]$ hdfs dfs -rm /user/hadoop/test/test1.txt
Deleted /user/hadoop/test/test1.txt  

复制文件

 [hadoop@node01 ~]$ hdfs dfs -cp /user/hadoop/test/test.txt /user/hadoop/test/mytest.txt
[hadoop@node01 ~]$ hdfs dfs -ls /user/hadoop/test
Found 4 items
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:55 /user/hadoop/test/mytest.txt
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:50 /user/hadoop/test/test.txt
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:51 /user/hadoop/test/test2.txt
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:51 /user/hadoop/test/test3.txt  

复制目录

 [hadoop@node01 ~]$ hdfs dfs -cp -p /user/hadoop/test /user/sqoop 
[hadoop@node01 ~]$ hdfs dfs -ls /user/sqoop
Found 2 items
-rw-r--r--   3 hadoop supergroup          0 2020-06-22 15:40 /user/sqoop/flag.txt
drwxr-xr-x   - hadoop supergroup          0 2020-06-22 15:55 /user/sqoop/test  

删除目录

 [hadoop@node01 ~]$ hdfs dfs -rm -r /user/sqoop/test
Deleted /user/sqoop/test  

HDFS的命令帮助

 [hadoop@node01 ~]$ hdfs dfs -help ls
-ls [-C] [-d] [-h] [-q] [-R] [-t] [-S] [-r] [-u] [-e] [<path> ...] :
  List the contents that match the specified file pattern. If path is not
  specified, the contents of /user/<currentUser> will be listed. For a directory a
  list of its direct children is returned (unless -d option is specified).
  
  Directory entries are of the form:
        permissions - userId groupId sizeOfDirectory(in bytes)
  modificationDate(yyyy-MM-dd HH:mm) directoryName
  
  and file entries are of the form:
        permissions numberOfReplicas userId groupId sizeOfFile(in bytes)
  modificationDate(yyyy-MM-dd HH:mm) fileName
  
    -C  Display the paths of files and directories only.
    -d  Directories are listed as plain files.
    -h  Formats the sizes of files in a human-readable fashion
        rather than a number of bytes.
    -q  Print ? instead of non-printable characters.
    -R  Recursively list the contents of directories.
    -t  Sort files by modification time (most recent first).
    -S  Sort files by size.
    -r  Reverse the order of the sort.
    -u  Use time of last access instead of modification for
        display and sorting.
    -e  Display the erasure coding policy of files and directories.  

文章来源:智云一二三科技

文章标题:十四、HDFS常见操作命令

文章地址:https://www.zhihuclub.com/185839.shtml

关于作者: 智云科技

热门文章

网站地图