菜鸟科技网

HDFS命令有哪些?常用命令如何操作?

HDFS(Hadoop Distributed File System)是Hadoop生态中的核心组件,专为大规模数据存储设计,具有高容错性、高吞吐量等特点,掌握HDFS命令是操作和管理Hadoop数据的基础,以下从常用命令分类、功能详解及使用场景进行说明,HDFS命令通过hdfs dfshadoop fs调用,两者功能基本一致,本文以hdfs dfs为例展开。

HDFS命令有哪些?常用命令如何操作?-图1
(图片来源网络,侵删)

文件与目录管理命令

  1. 创建目录-mkdir命令用于创建目录,支持多级目录创建,如hdfs dfs -mkdir /data/input会在根目录下创建input文件夹;若需创建多级目录,需加-p参数,即hdfs dfs -mkdir -p /data/2023/input,可一次性创建不存在的父目录。
  2. 上传文件-put-copyFromLocal可将本地文件上传至HDFS,如hdfs dfs -put local.txt /data/input/,后者支持更复杂的文件过滤(如排除特定文件)。-moveFromLocal上传后会删除本地文件。
  3. 下载文件-get-copyToLocal将HDFS文件下载至本地,-getmerge可合并多个文件下载,如hdfs dfs -getmerge /data/output/* local_merged.txt
  4. 删除操作-rm删除文件,-rm -r递归删除目录(如hdfs dfs -rm -r /data/old);-rmf(非安全模式)或-rm -skipTrash可跳过回收站直接删除。

文件查看与搜索命令

  1. 查看文件内容-cat输出文件全部内容(hdfs dfs -cat /data/input.txt);-head-tail分别查看文件开头和末尾(默认10行,可通过-n指定行数)。
  2. 文件统计-du查看文件大小及占用空间,如hdfs dfs -du -h /data-h以人类可读格式显示);-count统计目录下文件数量和总大小(hdfs dfs -count /data)。
  3. 搜索文件-find支持按名称、类型等条件搜索,如hdfs dfs -find /data -name "*.log" -type f查找所有.log文件。

权限与所有权管理

HDFS采用Linux风格的权限模型,-chmod修改权限(hdfs dfs -chmod 755 /data),-chown修改所有者和组(hdfs dfs -chown user:group /data),-chgrp仅修改组。

存储配额与空间管理

-setquota设置目录配额(如hdfs dfs -setquota -u 10G /data/user1限制用户1使用10GB空间),-clrquota清除配额;-df查看文件系统整体使用情况(hdfs dfs -df -h /)。

高级命令

-distcp用于集群间分布式复制(hdfs dfs -distcp hdfs://cluster1/data hdfs://cluster2/data_backup);-expunge清空回收站;-setrep调整副本数(hdfs dfs -setrep 3 /data/input.txt,将文件副本数设为3)。

命令使用示例表格

命令 参数示例 功能说明
hdfs dfs -mkdir -p /data/2023/q1 递归创建多级目录
hdfs dfs -put local.txt /data/ 上传本地文件至HDFS
hdfs dfs -getmerge /data/output/* merged.txt 合并HDFS多个文件并下载
hdfs dfs -du -h /data 以易读格式显示目录大小
hdfs dfs -setrep 2 /data/small_file.txt 修改文件副本数为2

相关问答FAQs

Q1: HDFS删除文件后如何从回收站恢复?
A: HDFS删除文件时,默认会将其移动到.Trash/Current目录(可通过fs.trash.interval配置回收站保留时间),恢复时,可通过hdfs dfs -mv /user/<username>/.Trash/Current/<file> /target/path将文件移出回收站,若已执行rm -r或清空回收站,则无法恢复。

HDFS命令有哪些?常用命令如何操作?-图2
(图片来源网络,侵删)

Q2: 如何查看HDFS集群的存储使用情况?
A: 可通过hdfs dfs -df -h /查看根目录使用量,或访问HDFS Web UI(默认地址http://9870)查看详细存储信息,包括各节点磁盘使用、副本分布等。hdfs dfsadmin -report命令可输出集群整体存储报告,包括容量、已用空间、数据节点状态等。

HDFS命令有哪些?常用命令如何操作?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇