大数据入门:HDFS文件管理系统简介

2020-12-28 18:13:31 浏览数 (1)

Hadoop作为大数据主流的基础架构选择,至今仍然占据着重要的地位,而基于Hadoop的分布式文件系统HDFS,也在大数据存储环节发挥着重要的支撑作用。今天的大数据入门分享,我们就主要来讲讲HDFS分布式文件管理系统。

一、HDFS文件管理系统

根据物理存储形态,数据存储可分为集中式存储与分布式存储两种。集中式存储以传统存储阵列(传统存储)为主,分布式存储(云存储)以软件定义存储为主。

传统存储:一向以可靠性高、稳定性好,功能丰富而著称,但与此同时,传统存储也暴露出横向扩展性差、价格昂贵、数据连通困难等不足,容易形成数据孤岛,导致数据中心管理和维护成本居高不下。

分布式存储:将数据分散存储在网络上的多台独立设备上,一般采用标准x86服务器和网络互联,并在其上运行相关存储软件,系统对外作为一个整体提供存储服务。

数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。

常见的分布式文件系统有GFS、HDFS、Lustre、Ceph、GridFS、mogileFS、TFS、FastDFS等,而HDFS作为Hadoop的核心组件之一,在市场主流的使用非常普遍。

二、HDFS文件系统的特点

优点:

(1)高容错性。数据自动保存多个副本。通过增加副本的形式,提高容错性,某一个副本丢失,可以自动恢复。

(2)适合大规模的数据、文件处理。

(3)采用流式的数据访问方式,一次存入多次读取,存入的数据只能追加,不能修改。

(4)可以部署在廉价的机器上。

缺点:

(1)不适合低延时的数据访问,对延时要求在毫秒级别的应用,不适合采用HDFS。HDFS是为高吞吐数据传输设计的,因此可能牺牲延时。HBase更适合低延时的数据访问。

(2)无法高效地对大量小文件进行存储。文件的元数据(如目录结构,文件block的节点列表,block-node mapping)保存在NameNode的内存中,整个文件系统的文件数量会受限于NameNode的内存大小。

(3)无法支持并发写入。一个文件只能有一个写,不允许多个线程同时写入。

(4)不支持文件随机修改,仅支持文件追加。

三、HDFS文件系统常用命令

命令行的交互主要通过hadoop fs来操作。

1、显示目录信息

#显示根目录下所有文件和目录

hadoop fs-ls/

#递归显示根目录下所有文件和目录

hadoop fs-ls-R/

2、将本地文件或目录上传到HDFS

#hdfs dfs-put<本地文件路径><HDFS路径>

hdfs dfs-put ceshi.txt/opt/data

copyFromLocal命令同样用于上传文件

hdfs dfs-copyFromLocal./ceshi.txt/opt/data

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

hdfs dfs-get/opt/data/ceshi.txt/usr/local

copyToLocal命令同样可以实现从HDFS中的路径拷贝到本地

hdfs dfs-copyToLocal/opt/data/ceshi.txt/usr/local

4、将文件或目录从HDFS的源路径移动到目标路径

不允许跨文件系统移动文件。

hdfs dfs-mv/opt/data/ceshi.txt/opt/local

5、将文件或目录复制到目标路径下

hdfs dfs-cp[-f][-p|-p[topax]]URI[URI…]<dest>

选项:

-f选项覆盖已经存在的目标。

-p选项将保留文件属性[topx](时间戳,所有权,权限,ACL,XAttr)。

6、删除一个文件或目录

hdfs dfs-rm[-f][-r|-R][-skipTrash]URI[URI…]

选项:

如果文件不存在,-f选项将不显示诊断消息或修改退出状态以反映错误。

-R选项以递归方式删除目录及其下的任何内容。

-r选项等效于-R。

-skipTrash选项将绕过垃圾桶(如果已启用),并立即删除指定的文件。当需要从超配额目录中删除文件时,这非常有用。

7、追加一个文件到已存在的文件末尾

hadoop fs-appendToFile<localsrc>...<dst>

hadoop fs-appendToFile./ce.txt/opt/data/ceshi.txt

8、显示文件内容-cat

9、显示文件的末尾-tail

10、合并下载多个文件

#将HDFS的/opt/data目录下的文件合并为hb.txt文件并下载到本地

hadoop dfs-getmerge/opt/data/hb.txt

合并后的文件位于当前目录,不在hdfs中,是本地文件。

11、统计文件系统的可用空间信息-df

12、显示给定目录中包含的文件和目录的大小或文件的长度

hdfs dfs-du/opt/data/

HDFS作为Hadoop原生的核心组件之一,也是大数据学习当中的一块重点,分布式文件管理系统HDFS,需要深入去理解和掌握。

0 人点赞