hadoop fs 命令使用

本文详细介绍了Hadoop文件系统的配置顺序及其命令用法,包括文件的上传、下载、复制、移动、删除等操作,适用于Hadoop初学者及使用者快速上手。

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

有道笔记-hadoop fs 命令

hadoop 文件系统配置文件按如下查找顺序

1. hadoop jar里的hadoop-default.xml
2. $HADOOP_CONF_DIR下的hadoop-default.xml
3. $HADOOP_CONF_DIR下的hadoop-site.xml。使用local代表将本地文件系统作为hadoop的DFS。
4. 如果传递uri做参数,那么就是特定的文件系统作为DFS。

命令详情

1. Hadoop fs –fs [local | <file system URI>]:

列出在指定目录下的文件内容,支持pattern匹配。输出格式如filename(full path)   <r n> size. 其中n代表replica的个数,size代表大小(单位bytes)。
2. hadoop fs –ls <path>

递归列出匹配pattern的文件信息,类似ls,只不过递归列出所有子目录信息。
3. hadoop fs –lsr <path>:

列出匹配pattern的指定的文件系统空间总量(单位bytes),等价于unix下的针对目录的du –sb <path>/*和针对文件的du –b <path> ,输出格式如name(full path)  size(in bytes)。
4. hadoop fs –du <path>

等价于-du,输出格式也相同,只不过等价于unix的du -sb。
5. hadoop fs –dus <path>

将制定格式的文件 move到指定的目标位置。当src为多个文件时,dst必须是个目录。
6. hadoop fs –mv <src> <dst>

拷贝文件到目标位置,当src为多个文件时,dst必须是个目录。
7. hadoop fs –cp <src> <dst>

删除匹配pattern的指定文件,等价于unix下的rm <src>
8. hadoop fs –rm [-skipTrash] <src>

递归删掉所有的文件和目录,等价于unix下的rm –rf <src>
9. hadoop fs –rmr [skipTrash] <src>

等价于unix的rm –rfi <src>
10. hadoop fs –rmi [skipTrash] <src>

从本地系统拷贝文件到DFS
11. hadoop fs –put <localsrc><dst>

等价于-put
12. hadoop fs –copyFromLocal <localsrc><dst>

等同于-put,只不过源文件在拷贝后被删除
13. hadoop fs –moveFromLocal <localsrc><dst>

从DFS拷贝文件到本地文件系统,文件匹配pattern,若是多个文件,则dst必须是目录
14. hadoop fs –get [-ignoreCrc] [-crc] <src> <localdst>

顾名思义,从DFS拷贝多个文件、合并排序为一个文件到本地文件系统
15. hadoop fs –getmerge <src> <localdst>

 输出文件内容
16. hadoop fs –cat <src>

等价于-get
17. hadoop fs –copyToLocal [-ignoreCrc] [-crc] <src> <localdst>

在指定位置创建目录
18. hadoop fs –mkdir <path>

设置文件的备份级别,-R标志控制是否递归设置子目录及文件
19. hadoop fs –setrep [-R] [-w] <rep> <path/file>

修改文件的权限,-R标记递归修改。MODE为a+r,g-w,+rwx等,OCTALMODE为755这样
20. hadoop fs –chmod [-R] <MODE[,MODE]…|OCTALMODE> PATH…

修改文件的所有者和组。-R表示递归
21. hadoop fs -chown [-R] [OWNER][:[GROUP]] PATH…

等价于-chown … :GROUP …
22. hadoop fs -chgrp [-R] GROUP PATH…

计数文件个数及所占空间的详情,输出表格的列的含义依次为:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,FILE_NAME或者如果加了-q的话,还会列出QUOTA,REMAINING_QUOTA,SPACE_QUOTA,REMAINING_SPACE_QUOTA
23. hadoop fs –count[-q] <path>
### 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]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值