hadoop 与 hdfs
bin/hadoop fs Command
或
bin/hdfs dfs Command
hadoop 命令包含 hdfs 命令, dfs 是 fs 的实现类
FileSystem shell
-
文件命令
-help
查看 hadoop 或 hdfs 命令的参数hdfs dfs -help rm 或 hadoop fs -help rm
-
-ls
: 显示目录信息hdfs dfs -ls / 或 hadoop fs -ls /
-
-mkdir
:HDFS上创建目录, 与 linux 系统命令一样hdfs dfs -mkdir -p /user/zcz 或 hadoop fs -mkdir -p /user/zcz
-
-count
检查hdfs 文件夹的使用情况和限额hdfs dfs -count -q /user/zcz 或 hadoop fs -count -q /user/zcz
-
-df
查看目标剩余空间hdfs dfs -df -h /user/zcz 或 hadoop fs -df -h /user/zcz
-
-du
查看文件或文件夹 占用空间hdfs dfs -du -h /user/zcz/zcz.xml 或 hadoop fs -du -h /user/zcz/zcz.xml
-
-moveFromLocal
:从本地剪切到HDFStouch test.xml #本地创建文件 hdfs dfs -moveFromLocal test.xml /user/zcz/ 或 hadoop fs -moveFromLocal test.xml /user/zcz/
-
-appendToFile
:a 文件追加到 b 文件末尾hdfs dfs -appendToFile zcz.xml /user/zcz/test.xml 或 hadoop fs -appendToFile zcz.xml /user/zcz/test.xml
-
-cat
查看文件内容hdfs dfs -cat /user/zcz/test.xml 或 hadoop fs -cat /user/zcz/test.xml
-
-chgrp
修改文件权限hdfs dfs -chgrp hadoop /user/zcz/test.xml 或 hadoop fs -chgrp hadoop /user/zcz/test.xml
-
-chmod
修改文件执行权限hdfs dfs -chmod 666 /user/zcz/test.xml 或 hadoop fs -chmod 666 /user/zcz/test.xml
-
-chown
修改文件所属用户及用户组hdfs dfs -chown -R hadoop:hadoop /user 或 hadoop fs -chown -R hadoop:hadoop /user
-
-copyFromLocal
从本地 copy 文件到 hdfs, 等同于-put
hdfs dfs -copyFromLocal zcz.xml /user/zcz/ 或 hadoop fs -copyFromLocal zcz.xml /user/zcz/
-
-copyToLocal
从 hdfs 拷贝文件到本地, 等同于-get
hdfs dfs -copyToLocal /user/zcz/test.xml ./ 或 hadoop fs -copyToLocal /user/zcz/test.xml ./
-
-cp
hdfs 内 copyhdfs dfs -cp /user/zcz/test.xml /user/ 或 hadoop fs -cp /user/zcz/test.xml /user/
-
-mv
hdfs 内 移动文件hdfs dfs -mv /user/zcz/test.xml /user/ 或 hadoop fs -mv/user/zcz/test.xml /user/
-
-get
从HDFS下载文件到本地, 等同于-copyToLocal
hdfs dfs -get /user/zcz/test.xml ./ 或 hadoop fs -get /user/zcz/test.xml ./
-
-getmerge
合并下载多个文件到本地hdfs dfs -getmerge /user/zcz/* ./ 或 hdfs dfs -getmerge /user/zcz/zcz.xml /user/zcz/test.xml zzz.xml 或 hadoop fs -getmerge /user/zcz/* ./ 或 hadoop fs -getmerge /user/zcz/zcz.xml /user/zcz/test.xml zzz.xml
-
-put
本地文件上传到 hdfs, 等同于-copyFromLocal
hdfs dfs -put zcz.xml /user/zcz/ 或 hadoop fs -put zcz.xml /user/zcz/
-
-tail
:显示一个文件的末尾, 只有一个参数 -f 或者不加参数hdfs dfs -tail /user/zcz/abc.txt 或 hadoop fs -tail /user/zcz/abc.txt
-
-rm
:删除文件或文件夹hdfs dfs -rm -rf /user/zcz 或 hadoop fs -rm -rf /user/zcz/abc.txt
-
-rmdir
: 删除空目录hdfs dfs -rmdir /user 或 hadoop fs -rmdir /user
-
-du
统计文件大小hdfs dfs -du -h /abc.txt 或 hadoop fs -du -h /abc.txt
-
-find
文件查找hdfs dfs -find /user/ -name zcz.* 或 hadoop fs -find /user/ -name zcz.*
-
-setrep
设置 hdfs 中文件的副本数hdfs dfs -setrep 2 /abc.txt 或 hadoop fs -setrep 2 /abc.txt
-
-getfacl
查看文件或文件夹的访问控制列表(读写执行, 用户用户组等权限)hdfs dfs -getfacl /user 或 hadoop fs -getfacl 2 /user
-
-stat
指定格式显示文件信息 -
-test
检查文件或文件夹 信息(是否是文件或文件夹, 扩展名, 长度, 是否存在等) -
-touchz
: 创建空文件 -
-truncate
阶段指定文件 执行长度
理解架构后的命令
官方文档 FileSystem shell
操作日志与镜像文件转 xml
hdfs oiv -p XML -i fsimage_000000000000000124 -o fsImage.xml 将镜像文件转化为 xml 文件
hdfs oev -p XML -i edit_000000000000000124_ 000000000000000267 -o edit.xml 将操作日志文件转换为 xml 文件
集群间数据拷贝
hadoop distcp hdfs://hadoop162:9000/user/zcz/abc.xml hdfs://hadoop172:9000/user/zcz/abc.xml
小文档 har 管理
hadoop archive -archiveName newfileName.har -p /user/zcz/ /user/newzcz/ # 将/user/zcz 目录下的文件合成到 /user/newzcz/下 名称为newfileName.har
hadoop fs -lsr har:///user/newzcz/newfileName.har # 可以查看操作原本的数据
hadoop fs -cp har:///user/newzcz/newfileName.har/* /user/zcz # 解归档
快照管理
(1) hdfs dfsadmin -allowSnapshot 路径 (描述: 开启指定目录的快照功能)
(2) hdfs dfsadmin -disableSnapshot 路径 (描述: 禁止指定目录的快照功能)
(3) hdfs dfs -delete Snapshot 路径 名称 (描述: 删除快照, 禁止目录快照前需要删除当前目录快照)
(4) hdfs dfs -createSnapshot 路径 (描述: 对目录创建快照)
(5) hdfs dfs -createSnapshot 路径 名称 (描述: 对名称创建快照)
(6) hdfs dfs -renameSnapshot 路径 旧名称 新名称 (描述: 重命名快照)
(7) hdfs lsSnapshottableDir (描述: 列出当前用户所有快照)
(8) hdfs snapshotDiff 路径 1 路径 2 (描述: 比较两个快照的差异)