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