Hadoop FS常用命令

本文介绍了Hadoop文件系统(HDFS)中常用的shell命令,包括创建目录、查看目录、上传和下载文件等,并通过示例展示了如何使用这些命令来管理和操作HDFS中的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、概述

Hadoop文件系统(FS)提供了各种shell命令,与shell命令类似,可用于同分布式文件系统(HDFS)进行交互,以管理HDFS集群中的文件和数据。

2、Hadoop FS常用命令

(1)创建目录
用法:

hadoop fs -mkdir <paths>

示例:
创建单个目录:

hadoop fs -mkdir /home/myfile/dir1

创建多目录:

hadoop fs -mkdir /home/myfile/dir1 /home/myfile/dir2

(2)查看目录
用法:

hadoop fs -ls <paths>

示例:
与shell中ls类似:

hadoop fs -ls /home/myfile/

注:hadoop fs -ls会打印出目录统计信息和详细信息,对文件批处理需注意格式。

(3)上传文件
将一个或多个文件从本地系统复制到Hadoop文件系统。
用法:

hadoop fs -put <local_files> ... <hdfs_path>

示例:

hadoop fs -put Desktop/test.sh /home/myfile/dir1/

(4)下载文件
将文件从HDFS下载到本地文件系统。
用法:

hadoop fs -get <hdfs_paths> <local_path>

示例:

hadoop fs -get /home/myfile/test.sh Downloads/

(5)查看文件
用法:

hadoop fs -cat <paths>

示例:

hadoop fs -cat /home/myfile/test.sh

(6)复制文件
用法:

hadoop fs -cp <source_path> ... <destination_path>

示例:

hadoop fs -cp /home/myfile/test.sh /home/myfile/dir

(7)移动文件
用法:

hadoop fs -mv <source_path> <destination_path>

示例:

hadoop fs -mv /home/myfile/test.sh /home/myfile/dir

(8)删除文件
删除指令有两个选项,-rm和-rm -r
用法:

hadoop fs -rm <path>

示例:

hadoop fs -rm /home/myfile/test.sh

上述命令只会删除给定目录下的文件,如果要删除一个包含文件的目录,类似于shell中的rm,需要使用递归参数-r。

下面是rm的递归操作:
用法:

hadoop fs -rm -r <path>

示例:

hadoop fs -rm -r /home/myfile/dir

(9)查看文件尾部
用法:

hadoop fs -tail <path>

示例:

hadoop fs -tail /home/myfile/test.sh

(10)显示文件总长度
用法:

hadoop fs -du <path>

示例:

hadoop fs -du /home/myfile/test.sh

(11)统计文件数和大小
用法:

hadoop fs -count <path>

示例:

hadoop fs -count /home/myfile

(12)统计文件系统空间的详细信息
用法:

hadoop fs -df <path>

示例:

hadoop fs -df /home/myfile

(13)合并文件
从HDFS拷贝多个文件、合并排序为一个文件到本地文件系统
用法:

hadoop fs –getmerge <src> <localdst>

示例:

hadoop fs –getmerge /user/hduser0011/test /home/myfile/dir

常用命令补充:
HDFS常用命令(移动、复制、文件大小)

### Hadoop fs 命令使用指南 Hadoop 提供了一组强大的命令行工具用于操作其分布式文件系统 (HDFS),其中 `hadoop fs` 是最常用的命令之一。以下是关于如何使用 `hadoop fs` 进行文件系统操作的相关说明。 #### 1. 启动 Hadoop 服务 需要注意的是,`hadoop fs` 并不是一个用来启动 Hadoop 集群的服务管理工具。要启动 Hadoop 的 NameNode 和 DataNode 等核心组件,通常需要执行以下命令: ```bash start-dfs.sh # 启动 HDFS 服务 start-yarn.sh # 启动 YARN 资源调度器(如果需要) ``` 这些脚本位于 `$HADOOP_HOME/sbin` 目录下[^4]。只有当集群成功启动后,才能通过 `hadoop fs` 或其他客户端接口访问 HDFS--- #### 2. 使用 `hadoop fs` 操作文件系统 一旦 Hadoop 服务正常运行,可以利用 `hadoop fs` 命令完成各种文件系统的操作。下面列举了一些常见的用法及其功能描述: - **上传本地文件到 HDFS** 将本地文件复制到指定的 HDFS 路径中: ```bash hadoop fs -put /path/to/localfile /path/in/hdfs/ ``` 如果目标路径不存在,则会自动创建相应的父目录结构[^2]。 - **从标准输入流写入数据至 HDFS** 当前终端的标准输入可以直接作为数据源存储到远程 HDFS 中: ```bash echo "Sample content" | hadoop fs -put - /user/hadoop/sample.txt ``` - **下载 HDFS 上的数据到本地磁盘** 下载某个特定文件并保存为本地副本: ```bash hadoop fs -get /path/in/hdfs/ /local/path/ ``` - **查看 HDFS 文件内容** 类似于 Unix/Linux 的 cat 功能,在控制台打印出给定文件的内容片段: ```bash hadoop fs -cat /path/in/hdfs/file.txt ``` - **删除 HDFS 中的对象** 删除单个文件或者整个目录树(需谨慎处理): ```bash hadoop fs -rm -r /path/in/hdfs/directory_or_file ``` - **显示当前工作目录位置** 查询默认的工作空间地址以便进一步定位资源: ```bash hadoop fs -pwd ``` - **列出某条路径下的所有项目详情** 获取目标节点内的子项列表连同属性信息一起展示出来: ```bash hadoop fs -ls / ``` 以上只是部分基础指令集合;更多高级选项可通过查阅官方文档获取全面指导[^3]。 --- #### 注意事项 尽管新版本推荐采用更简洁的形式即 `hdfs dfs` 替代传统方式调用相同的功能模块,但两者本质上并无区别,仅语法风格有所差异而已[^1]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值