美文网首页
大数据入门:HDFS文件管理系统简介

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

作者: 成都加米谷大数据 | 来源:发表于2020-12-28 17:21 被阅读0次

    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,需要深入去理解和掌握。

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/lfjtoktx.html