大数据上课笔记之HDFS的Shell操作

本文详细介绍了HDFS的shell命令使用,包括目录操作、文件上传下载、权限管理,以及如何编写Shell脚本定时从本地采集数据并上传到HDFS。涵盖了创建目录、查看文件、复制文件、检查文件信息等核心内容,适合Hadoop初学者和运维人员参考。

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

目录

一、HDFS的shell介绍

二、HDFS常用Shell命令 

1、三种Shell命令方式 

2、常用HDFS的shell命令

三、HDFS常用命令实操

1、创建目录

1.1、创建单层目录 

 1.2、创建多层目录

2、查看目录

3、上传本地文件到HDFS

4、查看文件内容 

5、下载HDFS文件到本地

6、删除HDFS文件

7、删除HDFS目录 

8、移动目录或文件

9、文件合并下载

10、检查文件信息

11、创建时间戳文件

12、复制文件或目录

12.1、同名复制文件

12.2、改名复制文件 

 12.3、复制目录

13、查看文件大小 

14、上传文件

15、下载文件

16、查看某目录下文件个数 

17、检查hadoop本地库

18、进入和退出安全模式 

18.1、进入安全模式

18.2、退出安全模式

四、案例:Shell定时采集数据到HDFS 

 1、编程思路与步骤

1.1、配置环境变量

1.2、准备日志存放目录和待上传文件

1.3、设置日志文件上传的路径

1.4、实现文件上传

2、编写脚本,实现功能

3、运行脚本,查看结果 

五、课后复习 


一、HDFS的shell介绍

  • Shell在计算机科学中俗称“壳”,是提供给使用者使用界面的进行与系统交互的软件,通过接收用户输入的命令执行相应的操作,Shell分为图形界面Shell和命令行式Shell。
  • 文件系统(FS)Shell包含了各种的类Shell的命令,可以直接与Hadoop分布式文件系统以及其他文件系统进行交互。

二、HDFS常用Shell命令 

1、三种Shell命令方式 

命令 适用场合
hadoop fs 适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统
hadoop dfs 只能适用于HDFS文件系统
hdfs dfs hdfs dfs跟hadoop dfs的命令作用一样,也只能适用于HDFS文件系统

2、常用HDFS的shell命令

命令 功能
hdfs dfs -ls <path> 显示<path>指定的文件或目录的详细信息。
hdfs dfs -ls -R <path> ls命令的递归版本。
hdfs dfs -cat <path> 将<path> 指定文件的内容输出到标准输出。
hdfs dfs chgrp [-R] group <path> 将<path>指定文件所属的组改为group,使用-R对<path>指定目录内的文件进行递归操作。这个命令只适合于超级用户。
hdfs dfs -chown [-R] [owner][:[group]] <path> 改变<path>指定文件或目录的拥有者,-R用于递归改变目录内的文件或目录的拥有者。 这个命令只适合于超级用户。
hdfs dfs -chmod [-R] <mode> <path> 将<path>指定文件或目录的权限更改为<mode>。这个命令只适合于超级用户和文件或目录的拥有者。
hdfs dfs -tail [-f] <path> 将<path> 指定文件最后1KB的内容输出到标准输出上,-f选项用于持续检测新添加到文件中的内容。
hdfs dfs -stat [format] <path> 以指定格式返回<path>指定文件的相关信息。当不指定format的时候,返回文件<path>的创建日期。
hdfs dfs -touchz <path> 创建一个<path>指定的空文件。
hdfs dfs -mkdir [-p] <paths> 创建<paths>指定的一个或多个目录,-p选项用于递归创建子目录。
hdfs dfs -copyFromLocal <localsrc> <dst> 将本地源文件<localsrc>复制到路径指定的文件或目录中。
hadoo fs -copyToLocal [-ignorcrc] [-crc] <target> <localdst> 将目标文件<target>复制到本地文件或目录<localdst>中,可用-ignorecrc选项复制CRC校验失败的文件,使用-crc选项复制文件以及CRC信息。
hdfs dfs -cp <src> <dst> 将文件从源路径<src>复制到目标路径<dst>。
hdfs dfs -du <path> 显示<path>指定文件或目录内所有文件的大小。
hdfs dfs -expunge 清空回收站。
hdfs dfs -get [-ignorcrc] [-crc] <src> <localdst> 复制<src>指定的文件到本地文件系统<localdst>指定的文件或目录内,可用-ignorecrc选项复制CRC校验失败的文件,使用-crc选项复制文件以及CRC信息。
hdfs dfs -getmerge [-nl] <src> <localdst> 对<src> 指定目录内所有文件进行合并,写入<localdst>指定的本地文件。-nl是可选的,用于指定在每个文件结尾添加一个换行符。
hdfs dfs -put <localsrc> <dst> 从本地文件系统中复制<localsrc>指定的单个或多个源文件到<dst>指定的目标文件系统中。
hdfs dfs moveFromLocal <localsrc> <dst> 与put命令功能相同,但是文件上传结束后会从本地文件系统中删除<localsrc>指定的文件。
hdfs dfs -mv <src> <dst> 将文件或目录从源路径<src>移到目标路径<dst>。
hdfs dfs -rm <path> 删除<path>指定的文件或目录(非空目录)。
hdfs dfs -rm -r <path> 删除<path>指定的目录及其下的所有文件,-r选项表示递归删除子目录。
hdfs dfs -setrep [-R] <path> 改变<path>指定文件的副本数,-R选项用于递归改变目录下所有文件的副本数。
hdfs dfs -test [-ezd] <path> 检查<path>指定文件或目录的相关信息。
-e (exist)检查文件是否存在,如果存在则返回0,否则返回1
-z (zero)检查文件是否是零字节,如果是则返回0,否则返回1
-d(directory)检查路径是否是目录,如果是则返回0,否则返回1
hdfs dfs -text <path> 指定的文件输出为文本格式,文件格式允许是zip和TextRecordInputStream。

三、HDFS常用命令实操

  • 启动Hadoop集群

1、创建目录

1.1、创建单层目录 

  • 执行命令:hdfs dfs -mkdir /ied 

  • 利用Hadoop WebUI查看创建的目录 

 1.2、创建多层目录

  • 执行命令:hdfs dfs -mkdir -p /luzhou/lzy

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

2、查看目录

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值