HDFS常用操作

简介

HDFS是Hadoop分布式文件系统,它一种基于Java的分布式文件系统,它具有容错性、可伸缩性和易扩展性等优点,它可在商用硬件上运行,也可以在低成本的硬件上进行部署。HDFS是一个分布式存储的Hadoop应用程序,它提供了更接近数据的接口。

常用命令

-ls 查看目录下的内容

hdfs dfs -ls /apps/hive/warehouse/mydata.db/
Found 3 items
drwxr-xr-x   - root hdfs          0 2021-04-28 19:03 /apps/hive/warehouse/mydata.db/order_info
drwxr-xr-x   - root hdfs          0 2021-04-28 15:03 /apps/hive/warehouse/mydata.db/user_info
drwxrwxrwx   - root hdfs          0 2021-04-28 16:07 /apps/hive/warehouse/mydata.db/user_info_orc

-mkdir 创建目录
参数:-p 建立层级目录

# 不报错 使用 -ls命令在上一级目录查看
hdfs dfs -mkdir -p /apps/hive/warehouse/mydata.db/user_info

-put 将本地文件或目录上传到HDFS的指定路径

hdfs dfs -put /root/data/local/ /apps/hdfs/

-get 将文件或目录从HDFS中的路径拷贝到本地

hdfs dfs -get /root/hdfs/ /apps/local/

-du 显示指定目录中包含文件的大小

# 单位 bytes
hdfs dfs -du /apps/hive/warehouse/mydata.db/order_info/
# 单位 MB
hdfs dfs -du -h /apps/hive/warehouse/mydata.db/order_info/

-mv 在hdfs系统中将文件或目录的源路径移动到目标路径

# 修改文件名称
hdfs dfs -mv /apps/source/a.txt /apps/source/b.txt
# 移动文件路径并修改名称
hdfs dfs -mv /apps/source/a.txt /apps/target/b.txt

-rm 删除文件或者目录

# 删除文件
hdfs dfs -rm /temp/data/a.txt
# 删除目录
hdfs dfs -rm -r /temp/data/

-cp 在hdfs系统中将文件或目录从源路径移动到目标路径

hdfs dfs -cp /temp/data/a.txt /temp/data1

-cat 查看指定文件

hdfs dfs -cat /temp/data/a.txt

-copyToLocal 拷贝文件或目录到本地 (同get)

hdfs dfs -copyToLocal /tmp/luonan ./

-copyFromLocal 从本地拷贝文件或目录到hdfs指定路径 (同put)

hdfs dfs -copyFromLocal -f ./mdx127_model/* /user/kylin_mdx/kylin/mdx_ke4_test_instance
<think>好的,我现在需要帮助用户查找HDFS常用命令及其用法。首先,我要回忆一下之前提供的引用内容,确保信息准确。根据引用[2]、[3]、[4],用户可能需要了解基本的文件管理、权限设置以及系统信息查询相关的命令。 用户提到的引用中,有关于ls命令、权限管理命令(chmod、chown、chgrp),以及获取配置信息的getconf命令。此外,引用[3]还提到了HDFS的架构,但用户更关注的是命令列表和示例,所以需要集中在命令部分。 接下来,我需要将这些命令分门别类,比如文件操作、权限管理、集群管理等,这样用户更容易查找。同时,每个命令需要给出基本格式和示例,比如ls、put、get、mkdir这些基本操作。还要注意格式是否正确,比如使用$...$包裹行内代码,独立代码块用```包裹。 需要注意权限管理命令的格式,比如chown和chgrp的使用方法,用户可能需要知道如何更改所有者和组。另外,引用[4]中提到getconf用于获取配置信息,比如fs.defaultFS,这也是需要包含的。 还要检查是否有其他常用命令被遗漏,比如复制文件、查看文件内容、删除文件等。比如cp、cat、rm这些命令。同时,用户可能需要知道如何查看空间使用情况,所以df和du命令也要包括进去。 最后,生成相关问题的时候,要围绕HDFS命令的更多细节、权限管理、API使用以及与其他系统的比较来提问,这样可以帮助用户进一步学习。需要确保问题有针对性,并且基于已有的引用内容,避免超出范围。 总结步骤: 1. 整理引用中的HDFS命令。 2. 分类列出命令,给出格式和示例。 3. 确保LaTeX格式正确,比如变量用$...$。 4. 生成相关问题,涵盖命令使用、优化、API等。</think>以下是HDFS常用命令列表及使用示例,基于HDFS分布式文件系统的特性设计: ### 一、文件操作命令 1. **查看目录内容** ```bash hdfs dfs -ls <路径> ``` 示例:`hdfs dfs -ls /user/hadoop` 显示该目录下所有文件[^1] 2. **上传文件** ```bash hdfs dfs -put <本地路径> <HDFS目标路径> ``` 示例:`hdfs dfs -put data.txt /user/input/` 将本地文件上传至HDFS 3. **下载文件** ```bash hdfs dfs -get <HDFS路径> <本地路径> ``` 示例:`hdfs dfs -get /output/result.csv ./downloads/` 4. **创建目录** ```bash hdfs dfs -mkdir -p <路径> ``` 示例:`hdfs dfs -mkdir -p /user/hadoop/newdir` 递归创建多级目录 ### 二、权限管理命令 1. **修改文件所有者** ```bash hdfs dfs -chown <新所有者>:<新所属组> <路径> ``` 示例:`hdfs dfs -chown hadoop:devgroup /user/data` [^2] 2. **修改文件权限** ```bash hdfs dfs -chmod <权限模式> <路径> ``` 示例:`hdfs dfs -chmod 755 /user/scripts` 设置rwxr-xr-x权限[^4] ### 三、集群管理命令 1. **查看空间使用** ```bash hdfs dfs -df -h / # 显示根目录磁盘使用情况 hdfs dfs -du -s -h /data # 统计目录大小 ``` 2. **获取配置信息** ```bash hdfs getconf -confkey <配置项> ``` 示例:`hdfs getconf -confkey fs.defaultFS` 显示默认文件系统地址 ### 四、高级操作命令 1. **跨集群复制** ```bash hdfs distcp hdfs://cluster1/src hdfs://cluster2/dest ``` 2. **查看文件内容** ```bash hdfs dfs -cat /path/file | head -n 20 # 查看前20行 ``` $$ \text{注意:HDFS采用Master/Slave架构,执行命令时实际是与NameNode交互} \cite{3} $$
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值