7 hdfs3.0 常用命令

hdfs3.0 常用命令

hdfs命令大全:
# hdfs dfs
1 创建目录(-mkdir):
hadoop fs -mkdir -p /putfile/test

2 显示目录信息(-ls):
hadoop fs -ls /putfile
hadoop fs -ls -h /putfile
hadoop fs -ls -d /putfile
hadoop fs -ls -R /putfile

3 显示文件大小(-du):
hadoop fs -du /putfile

显示剩余空间(-df):
hadoop fs -df /
hadoop fs -df -h /
hadoop fs -df hdfs://ns1/

4 上传本地文件到hdfs(-put):
hadoop fs -put test.txt /putfile/test/
hadoop fs -put test.txt /putfile/test/test.txt
hadoop fs -put test.txt /putfile/test/aa.txt
hadoop fs -put test.txt aa.txt /putfile/test/  #(上传多个文件)
hadoop fs -put test.txt hdfs://ns1/putfile/test/dd.txt

5 从hdfs上下载文件(-get)
hadoop fs -get /putfile/test/test.txt .
hadoop fs -get /putfile/test/test.txt  t2.txt  #下载并重命名
hadoop fs -get hdfs://ns1/puttest/test/test.txt t3.txt

6 查看文件内容(-cat):
hadoop fs -cat /putfile/test/test.txt
hadoop fs -cat hdfs://ns1/puttest/test/test.txt  (ns1为namenode的namespace)

输出文件最后的内容(-tail):
hadoop fs -tail /putfile/test/test.txt

7 删除文件(-rm):
hadoop fs -rm /putfile/test/test.txt
hadoop fs -rm  hdfs://ns1/puttest/test/test.txt

8 删除目录(-rmdir):(-rmr已经被舍去)
hadoop fs -rmdir /putfile/test  #当目录下还有文件时,无法删除该目录
hadoop fs -rmr /putfile/test  #递归删除,目录下有文件,也可删除整个目录

9 查找满足表达式的文件或目录(-find):
hadoop fs -find / -name test.txt
hadoop fs -find / -name test*

10 统计某路径下的目录数,文件数和字节数(-count)
hadoop fs -count /putfile
hadoop fs -count hdfs://ns1/putfile
hadoop fs -count -q -h /putfile

11 判断文件信息(-test):
用法:hadoop fs -test -[defsz] file_or_dir
-d:如果路径是一个目录,返回0
-e:如果路径已经存在,返回0
-f: 如果路径是一个文件,返回0
-s:如果路径不是空,返回0
-z:如果文件长度为0,返回0

hadoop fs -test -d /putfile
hadoop fs -test -f /putfile/test/test.txt

12 将hdfs上的文件(包括zip包,jar包等)以文本形式输出(-text):
hadoop fs -text /putfile/test/test.txt

13 按一定的格式打印文件或目录的统计信息(-stat):
展示格式:文件大小(%b),类型(%F),所有者所在组(%g),名字(%n),块大小(%o),副本(%r),用户名(%u),修改时间(%y,%Y)。默认的是%y。
# hadoop fs -stat  /putfile/test/test.txt
# hadoop fs -stat "%F %u:%g %b %y %n" /putfile/test/test.txt
regular file root:supergroup 1542 2022-01-02 13:26:20 aa.txt

14 在hdfs文件系统中进行拷贝操作(-cp):也可进行目录拷贝
参数:-f,当文件已存在时,则覆盖;-p,将权限,所属组,时间戳等也进行拷贝
hadoop fs -cp /putfile/test/test.txt /putfile/dir5
hadoop fs -cp -f  /putfile/test/test.txt /putfile/dir5
hadoop fs -cp -p  /putfile/test/test.txt /putfile/dir5
hadoop fs -cp  /putfile/test /putfile/dir6

15 移动文件或目录(mv):
当目标路径下已经存在该文件或目录时,无法mv
hadoop fs -mv /putfile/test/test.txt /putfile/dir7
hadoop fs -mv /putfile/dir5 /putfile/dir7

16 修改文件权限(-chmod):
参数:-R递归修改
hadoop fs -chmod -R 755 /putfile/dir7

17 修改文件属主/组(-chown):
hadoop fs -chown -R root:root /putfile/dir7

18 修改文件所属的组(-chgrp):
hadoop fs -chgrp -R hadoop /putfile/dir7

19 查看校验码信息(-checksum):
hadoop fs -checksum /putfile/test/test.txt

/putfile/test/test.txt    MD5-of-0MD5-of-512CRC32C    0000020000000000000000001c2ed762002fce781b9d85beddbca003

20 追加一个文件到已经存在的文件末尾(-appendToFile)

hadoop fs -appendToFile ./hello.txt /putfile/test/test.txt
hadoop fs -appendToFile ./hello.txt hdfs://ns1/putfile/test/test.txt

21 合并下载多个文件(-getmerge):
hadoop fs -getmerge /putfile/test/aa.txt /putfile/test/bb.txt  ./out.txt

22 hdfs海量复制数据:
hadoop distcp srcdir desdir
hadoop distcp hdfs://vm1:50070/dir  hdfs://vm2:50070/test

查看hdfs集群相关的:
查看hdfs的容量、空间使用情况,节点等信息:
# hdfs dfsadmin -report
Configured Capacity: 31668301824 (29.49 GB)
Present Capacity: 24444653568 (22.77 GB)
DFS Remaining: 24444534784 (22.77 GB)
DFS Used: 118784 (116 KB)
DFS Used%: 0.00%
Replicated Blocks:
........

-------------------------------------------------
Live datanodes (1):

Name: 192.168.1.86:9866 (vm3)
Hostname: vm3
Decommission Status : Normal
Configured Capacity: 31668301824 (29.49 GB)
DFS Used: 118784 (116 KB)
Non DFS Used: 7223648256 (6.73 GB)
DFS Remaining: 24444534784 (22.77 GB)
DFS Used%: 0.00%
DFS Remaining%: 77.19%
......
hdfs getconf -namenodes
hdfs getconf -secondaryNameNodes
hdfs getconf -backupNodes
hdfs getconf -journalNodes
hdfs getconf -nnRpcAddresses  # namenode rpc 地址

查看当前模式,是否是安全模式:
# hdfs dfsadmin -safemode get
Safe mode is OFF in vm1/192.168.1.84:8020
Safe mode is OFF in vm2/192.168.1.85:8020
进入安全模式:
# hdfs dfsadmin -safemode enter
退出安全模式:
# hdfs dfsadmin -safemode leave
关闭安全模式:
# hdfs dfsadmin -safemode off

文件快照:
可对目录或整个hdfs系统做快照;可通过快照恢复;快照不会拷贝block数据,只对block列表和文件大小做快照

创建快照:
# hdfs dfs -createSnapshot /puttest  puttestsnapshot
查看创建的快照,快照隐藏在.snapshot下:
# hadoop fs -ls /puttest/.snapshot
重命名快照:
# hadoop fs -renameSnapshot /puttest puttestsnapshot newputtestsnapshot
# hadoop fs -ls /puttest/.snapsho
快照恢复:
# hadoop fs -cp /puttest/.snapshot/newputtestsnapshot/dd.txt /puttest/
删除快照:
# hadoop fs -deleteSnapshot /puttest newputtestsnapshot

 

posted @ 2022-11-09 17:17  Sky-wings  阅读(96)  评论(0编辑  收藏  举报