4.3 HDFS的shell操作

一、导入新课

上一节中,主要讲解了HDFS的架构和原理,使得学生更深入的了解HDFS的底层架构以及读写数据的原理,那我们该如何访问HDFS呢?HDFS提供了多种数据访问方式,而Shell命令行方式是最简单的,也是许多开发者最容易掌握的方式,本节将针对HDFS的Shell操作进行详细讲解

二、了解HDFS常用Shell命令 

1.三种shell命令方式

https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-common/FileSystemShell.html

2、FileSystem Shell文档 

查看cat命令用法

(三)HDFS常用命令操作实战

启动Hadoop集群

1、创建目录 

执行命令hdfs dfs -mkdir /ied

利用Hadoop WebUI查看创建的目录

(2):创建多层目录

执行命令:hdfs dfs -mkdir /luzhou/lzy,会报错,因为/luzhou目录不存在

  • 当然,可以先创建/luzhou目录,然后在里面再创建lzy子目录,但是也可以一步到位,需要一个-p参数
  • 执行命令:hdfs dfs -mkdir -p /luzhou/lzy

 利用Hadoop WebUI查看创建的多层目录

2。查看目录

执行命令hdfs dfs -ls /查看根目录(可以在任何节点上查看,结果都是一样的)

  • 执行命令:hdfs dfs -ls /luzhou

  • 如果我们要查看根目录里全部的资源,那么要用到地柜参数-R(必须大写)
  • 执行命令:hdfs dfs -ls -R /,递归查看/目录

 3.上传文件到HDFS 

  • 创建test.txt文件,执行命令:echo "hello hadoop world" > test.txt

查看test.txt文件内容  

执行命令:cat test.txt

  • 利用Hadoop WebUI界面查看

4、查看文件内容  

  • 执行命令:hdfs dfs -cat /ied/test.txt

 5、下载HDFS文件到本地

  • 先删除本地的test.txt文件,执行命令:rm -rf test.txt

  • 可以将HDFS上的文件下载到本地指定位置,并且可以更改文件名
  • 执行命令:hdfs dfs -get /ied/test.txt /home/exam.txt

6、删除HDFS文件  

  • 执行命令:hdfs dfs -rm /ied/test.txt

  • 检查是否删除成功,执行命令:hdfs dfs -ls /ied/test.txt

 

  • 使用通配符,可以删除满足一定特征的文件 执行命令:hdfs dfs -rm /ied/t*
  • 解析:“t*”,意为删除以‘t’开头的文件。 

7、删除HDFS目录 

  • 执行命令:hdfs dfs -rmdir /luzhou

  • 提示-rmdir命令删除不了非空目录。
  • 要递归删除才能删除非空目录:hdfs dfs -rm -r /luzhou(-r:recursive)

8、移动目录或文件 

  • 利用Hadoop WebUI查看是否更名成功

  • 查看改名后的test.txt文件内容,执行命令:hdfs dfs-cat /ied01/test.txt

9、文件合并下载 

  • 现在/ied01里有一个test.txt,创建sport.txt和music.txt并上传

  • 合并/ied01目录的文件下载到本地当前目录的merger.txt,执行命令:hdfs dfs -getmerge /ied01/* merger.txt

  • 下面,查看本地的merger.txt,看是不是三个文件合并后的内容

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: HDFS ShellHadoop分布式文件系统中的命令行工具,用于管理HDFS中的文件和目录。以下是HDFS Shell常用的一些操作: 1. 列出目录中的文件和子目录:`hdfs dfs -ls <目录路径>` 2. 创建目录:`hdfs dfs -mkdir <目录路径>` 3. 删除目录:`hdfs dfs -rm -r <目录路径>` 4. 上传本地文件到HDFS:`hdfs dfs -put <本地文件路径> <HDFS目录路径>` 5. 下载HDFS文件到本地:`hdfs dfs -get <HDFS文件路径> <本地目录路径>` 6. 合并HDFS文件到本地:`hdfs dfs -getmerge <HDFS目录路径> <本地文件路径>` 7. 复制文件:`hdfs dfs -cp <源文件路径> <目标文件路径>` 8. 移动文件:`hdfs dfs -mv <源文件路径> <目标文件路径>` 9. 查看文件内容:`hdfs dfs -cat <文件路径>` 10. 修改文件权限:`hdfs dfs -chmod <权限> <文件路径>` 以上是HDFS Shell的一些常用操作,可以帮助用户管理Hadoop分布式文件系统中的文件和目录。 ### 回答2: Hadoop分布式文件系统(Hadoop Distributed File System,简称HDFS)是Apache Hadoop的核心组件之一,用于存储和处理大规模数据集。HDFS ShellHadoop提供的基于命令行的操作工具,用于执行文件系统的管理操作HDFS Shell主要提供以下操作: 1. 文件和目录操作: - ls:列出指定目录下的内容。 - mkdir:创建一个新目录。 - rm:删除指定文件或目录。 - mv:将文件或目录移动到新位置。 - chmod:修改文件或目录的权限设置。 2. 文件上传和下载: - put:上传本地文件到HDFS。 - get:将HDFS上的文件下载到本地。 3. HDFS中的文件操作: - cat:打印文件内容。 - tail:打印文件的结尾部分。 - head:打印文件的开头部分。 - du:计算文件或目录的大小。 - count:统计指定目录下文件以及目录的个数。 - checksum:计算文件内容的检验和。 4. 其他操作: - help:列出所有可用命令。 - usage:显示指定命令的使用方法信息。 - exit:退出HDFS Shell。 使用HDFS Shell进行操作时,可以根据需要选择合适的命令来执行对应的操作。例如,使用ls命令可以列出指定目录下的文件和子目录,使用put命令可以上传本地文件到HDFS,使用cat命令可以打印指定文件的内容等。 HDFS Shell操作也可以通过Shell脚本来批量执行,可以更加方便地进行文件系统管理。总的来说,HDFS Shell是一种方便、高效的文件系统操作工具,对于Hadoop用户来说是必不可少的。 ### 回答3: HDFSHadoop 分布式文件系统)是一个由 Apache Hadoop 提供的分布式文件存储系统。HDFS ShellHDFS 文件系统的命令行接口,可以通过命令行终端进行 HDFS 文件系统的操作,实现文件的上传、下载、创建等。 HDFS Shell 使用方式如下: 1. 进入 Hadoop 环境,输入命令`hdfs dfs`或`hadoop fs`后,就可以使用 HDFS Shell。 2. 命令格式: ``` hadoop fs [通用选项] [-D <属性>=<值>] <命令> [命令选项] ``` 表示 HDFS Shell 包含的通用选项、属性选项,以及命令和命令选项。 其中,通用选项包括 `-conf`、`-D`、`-fs`、`-jt` 等,这些选项在 Hadoop 的其他模块中也可以使用。 命令包括 `cat`、`cp`、`count`、`get`、`ls`、`mkdir`、`mv`、`put`、`rm`、`rmdir` 等。 命令选项包括 `-skipTrash`、`-skipChecksum`、`-overwrite`、`-recursive` 等。 3. HDFS Shell 常用命令: `ls`:显示 HDFS 目录下的文件和目录。 `mkdir`:在 HDFS 中创建一个新的目录。 `put`:将本地文件或目录上传到 HDFS 文件系统。 `get`:将 HDFS 文件系统中的文件或目录下载到本地。 `rm`:删除 HDFS 文件系统中的文件或目录。 `mv`:将 HDFS 文件系统中的文件或目录移动到另一个位置。 4. HDFS Shell 实例: `hdfs dfs -ls /`:列出 HDFS 根目录下的文件和目录。 `hdfs dfs -mkdir /test`:在 HDFS 中创建一个名为 test 的目录。 `hdfs dfs -put localfile /test`:将本地文件 localfile 上传到 HDFS 的目录 test 中。 `hdfs dfs -get /test/hadoopfile localfile`:将 HDFS 中 test 目录下的文件 hadoopfile 下载到本地的 localfile 中。 `hdfs dfs -rm /test/hadoopfile`:删除 HDFS 中 test 目录下的文件 hadoopfile。 `hdfs dfs -mv /test/hadoopfile /test/newfile`:将 HDFS 中 test 目录下的文件 hadoopfile 移动到 test 目录下的 newfile 中。 综上所述,HDFS Shell 对于 Hadoop 分布式文件系统的管理和维护具有很重要的意义,能够方便地进行文件的上传、下载、删除、创建等操作。此外,HDFS Shell 还支持批量处理和脚本编程,可以方便地实现批量操作,提高操作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值