HDFS的文件的读写流程及常用命令

📅 2026/7/1 4:04:00
HDFS的文件的读写流程及常用命令
一、HDFS的读写流程1、写入流程先向namenode发送创建文件请求。然后本地将文件切分为固定大小 Block默认 128M。然后namenode向服务器写入块每个块分副本存入两个 Block 全部传输、3 副本同步完成后客户端调用通知 NameNode在元数据中补充上记录。2、读取流程客户端向 NameNode 发起读取文件请求NameNode 查询元数据然后返回块以及各自副本的节点地址客户端就近优先选择块读取若发生故障则切换副本进行读取读取块数据后本地拼接还原文件二、常用命令通用执行前缀hadoop fs -命令名 [参数]1、文件读写 / 内容查看类文件准备 touch作用在 HDFS 创建空文件示例hdfs dfs -touch /test/1.txt-appendToFile作用本地文件内容追加到 HDFS 已有文件末尾示例hdfs dfs -appendToFile local.txt /hdfs/file.txt-cat作用输出 HDFS 文件全部内容到控制台示例hdfs dfs -cat /aa/sh.txt-head作用查看文件前 1KB 内容示例hdfs dfs -head /aa/sh.txt-tail作用查看文件末尾 1KB加-f实时追踪新增日志示例hdfs dfs -tail -f /logs/app.log-text作用以文本格式读取文件兼容压缩包、SequenceFile示例hdfs dfs -text /data/file.gz2、文件校验 / 统计信息-checksum作用查看文件校验和用于检测文件是否损坏示例hdfs dfs -checksum /aa/sh.txt-count作用统计目录下【文件夹数、文件数、总字节大小】示例hdfs dfs -count /-df作用查看 HDFS 集群整体磁盘使用情况加-h人性化单位示例hdfs dfs -df -h-du作用查看指定目录 / 文件占用存储大小-h显示 MB/GB示例hdfs dfs -du -h /aa-stat作用打印文件元数据创建时间、权限、块大小等示例hdfs dfs -stat /aa/sh.txt3、权限 属主管理-chgrp作用修改文件 / 目录所属用户组示例hdfs dfs -chgrp hadoop /aa/sh.txt-chmod作用修改读写执行权限数字 / 符号权限示例hdfs dfs -chmod 755 /aa/sh.txt-chown作用修改文件属主属组示例hdfs dfs -chown root:root /aa/sh.txt-getfacl作用查看文件 ACL 访问控制权限细粒度权限-getfattr作用查看文件扩展属性信息4、本地 ↔ HDFS 文件传输-copyFromLocal作用本地复制文件到 HDFS等价-put保留本地源文件示例hdfs dfs -copyFromLocal sh.txt /aa/-copyToLocal作用HDFS 复制文件到本地等价-get保留 HDFS 源文件示例hdfs dfs -copyToLocal /aa/sh.txt ./-get作用下载 HDFS 文件到本地示例hdfs dfs -get /aa/sh.txt ./download/-moveFromLocal作用本地剪切到 HDFS传输后删除本地原文件-moveToLocal作用HDFS 剪切到本地传输后删除 HDFS 原文件-put作用上传本地文件至 HDFS最常用上传命令示例hdfs dfs -put sh.txt /aa/5、HDFS 内部复制 / 移动-cp作用HDFS 内复制文件 / 目录示例hdfs dfs -cp /aa/sh.txt /bb/-mv作用HDFS 内移动 / 重命名文件示例hdfs dfs -mv /old.txt /new.txt6、快照管理-createSnapshot作用给目录创建快照数据备份误删恢复-deleteSnapshot作用删除指定目录的快照-renameSnapshot作用重命名已有快照7、回收站清理-expunge作用手动清空 HDFS 回收站默认删除文件先放回收站8、文件查找-find作用按名称、大小、时间检索 HDFS 文件示例hdfs dfs -find / -name *.txt9、目录操作-ls作用列出目录内容-R递归查看所有子目录示例hdfs dfs -ls -R /aa-mkdir作用创建目录-p递归创建多级目录示例hdfs dfs -mkdir -p /a/b/c-rmdir作用删除空目录非空目录不可用10、删除文件-rm作用删除文件 / 目录-r递归删除文件夹-skipTrash直接永久删除不进回收站示例hdfs dfs -rm -r /output11、副本 / 文件块操作-getmerge作用合并 HDFS 目录下所有小文件下载到本地一个文件示例hdfs dfs -getmerge /logs/ all_log.txt-setrep作用修改文件副本数量示例hdfs dfs -setrep 2 /aa/sh.txt-truncate作用截断文件至指定字节长度12、测试 工具辅助-help作用查看所有 dfs 命令帮助文档-test作用shell 脚本中判断文件是否存在、是否目录、是否为空-usage作用单独查看某一条命令的简短用法示例hdfs dfs -usage put