温馨提示×

Linux中HDFS命令大全

小樊
34
2025-11-21 00:16:52
栏目: 智能运维

Linux中 HDFS 命令大全

一 命令总览与版本说明

  • 常用入口:
    • hdfs dfs:专用于 HDFS 的文件系统命令。
    • hadoop fs:通用文件系统命令,可操作 HDFS、本地 file:///、HFTP 等兼容文件系统。
  • 两者语法与语义等效,生产环境建议统一使用 hdfs dfshadoop fs 其一,便于维护与阅读。
  • 前置检查:确保已登录集群节点、具备目标路径权限;若启用 Kerberos,需先完成身份认证。

二 文件系统常用命令速查表

功能 命令示例
查看目录 hadoop fs -ls [-h] [-R] /path
创建目录 hadoop fs -mkdir [-p] /path
创建空文件 hadoop fs -touchz /path/file
上传文件 hadoop fs -put [-f] [-p] localsrc dst
下载文件 hadoop fs -get [-f] [-p] src localdst
复制(HDFS内) hadoop fs -cp [-f] src… dest
移动/重命名 hadoop fs -mv src… dest
删除文件 hadoop fs -rm [-f] uri
删除目录 hadoop fs -rm -r [-f] [-skipTrash] uri
查看内容 hadoop fs -cat uri
查看尾部 hadoop fs -tail [-f] uri
合并下载 hadoop fs -getmerge /dir/*.log ./merged.log
追加到文件 hadoop fs -appendToFile localsrc dst
权限与属主 hadoop fs -chmod 755 /path;-chown user:group /path
大小与统计 hadoop fs -du [-h] [-s] /path;-count /path
校验和 hadoop fs -checksum /path/file
文件信息 hadoop fs -stat “%b %n %o %r” /path/file
存在性测试 hadoop fs -test -e /path;-test -d /path
文本/压缩查看 hadoop fs -text /path/file
归档与查看 hadoop archive -archiveName my.har -p /src /dest;hdfs dfs -ls har:///dest/my.har
说明:[-f] 覆盖目标、[-p] 保留时间戳/权限/属主、[-R] 递归、[-h] 人类可读、[-skipTrash] 跳过回收站。

三 管理与维护命令

  • 集群与节点
    • 报告与节点:hdfs dfsadmin -report [-live|-dead|-decommissioning]
    • 安全模式:hdfs dfsadmin -safemode get|enter|leave|wait
    • 刷新节点:hdfs dfsadmin -refreshNodes
    • 平衡带宽:hdfs dfsadmin -setBalancerBandwidth ;-getBalancerBandwidth
  • 元数据与存储策略
    • 保存命名空间/滚动编辑:hdfs dfsadmin -saveNamespace;-rollEdits
    • 元数据快照:hdfs dfsadmin -metasave
    • 刷新服务ACL/用户组映射:hdfs dfsadmin -refreshServiceAcl;-refreshUserToGroupsMappings;-refreshSuperUserGroupsConfiguration
    • 存储策略:hdfs storagepolicies -listPolicies;-setStoragePolicy -path -policy ;-getStoragePolicy -path
  • 高可用 HA
    • 状态与健康:hdfs haadmin -getServiceState nn1;-getAllServiceState;-checkHealth nn1
  • 快照(HDFS 目录)
    • 开启/创建/删除/重命名:hdfs dfsadmin -allowSnapshot /path;hdfs dfs -createSnapshot /path snap1;hdfs dfs -deleteSnapshot /path snap1;hdfs dfs -renameSnapshot /path old new
  • 进程启停(旧版脚本)
    • 一键:start-dfs.sh / stop-dfs.sh
    • 单进程:hadoop-daemon.sh start|status|stop namenode|secondarynamenode|datanode
    • 新接口:hdfs --daemon start|status|stop namenode|secondarynamenode|datanode

四 实用示例

  • 目录与权限
    • 创建多级目录并赋权:hadoop fs -mkdir -p /data/logs;hadoop fs -chmod 755 /data/logs;hadoop fs -chown alice:data /data/logs
  • 上传下载与合并
    • 上传并重试覆盖:hadoop fs -put -f ./app.log /data/logs/
    • 合并下载:hadoop fs -getmerge /data/logs/*.log ./all.log
  • 查看与追加
    • 分页查看大文件:hadoop fs -cat /data/logs/app.log | more
    • 追加本地片段:hadoop fs -appendToFile ./more.log /data/logs/app.log
  • 副本与存储策略
    • 设置副本数并等待:hadoop fs -setrep -w 3 /data/logs/app.log
    • 设置目录策略:hdfs storagepolicies -setStoragePolicy -path /data/cold -policy COLD
  • 回收站与强制删除
    • 删除并跳过回收站:hadoop fs -rm -r -skipTrash /data/tmp
  • 集群报告与安全模式
    • 查看存活节点:hdfs dfsadmin -report -live
    • 安全模式维护:hdfs dfsadmin -safemode enter;… leave

五 注意事项

  • 回收站默认可能关闭,开启后在 /user//.Trash;回收间隔由 fs.trash.interval(分钟)与 fs.trash.checkpoint.interval(分钟)控制,例如:1440 与 120。
  • 路径与协议:HDFS 统一以 / 为根;访问不同文件系统可用 file:///hdfs://namenode:port/ 等前缀;跨文件系统移动不支持(如本地到 HDFS 用 -put/-moveFromLocal,不能用 -mv)。
  • 权限与安全:HDFS 权限模型与 Linux 类似;启用 Kerberos 需 kinit 完成认证后再执行命令;谨慎使用 -skipTrash-rm -r
  • 大文件与管道:查看大文件建议配合管道分页(如 | more);合并下载用 -getmerge 更高效。

0