大数据技术之Hadoop(HDFS, Hadoop Distributed File System)

chap1 HDFS概述

1.1.1 HDFS产生的背景

随着智能时代的到来,企业能得到的数据量也越来越大,一个操作系统难以存下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是这种情况不方便企业管理和维护,迫切的需要一种系统来管理多台机器上的文件,因此就诞生了分布式文件管理系统,HDFS就是分布式文件管理系统的一种,其他常见的分布式文件管理系统还有GFS(Google File System), TFS(Taobao File System), Lustre, MooseFS等。

1.1.2 HDFS定义

HDFS,他是一个文件系统,用于存储文件,通过目录树来定位文件;其次,他是分布式的,由很多服务器联合起来实现其功能(多台服务器联合起来干同一件事),集群中的服务器各有各的角色。

1.1.3 HDFS的使用场景

HDFS适合一次写入,多次读出的场景。一个文件经过创建,写入和关闭之后就不需要改变。不可修改历史数据,如果必须要修改,就要在原文件的基础上进行追加。

1.2 HDFS优缺点

优点:

  • 高容错性:数据自动保存多个副本,它通过增加副本的形式,提高容错性。某一个副本丢失以后,它可以自动恢复。(以为副本多。所以容错性高)
  • 适合处理大数据:能够处理数据规模达到GB,TB,甚至PB级别的数据(数据规模大),能够处理百万规模以上的文件数量,数量相当之大(文件规模大), 文件大,文件多,都适合HDFS。
  • 可构建在廉价的机器上,通过多副本机制,可提高可靠性。(ps: 以前:小型机,性能高,价格贵,不易崩。现在:普通机,性能普通,价格低,易崩,但是通过副本机制,提高可靠性。机器越来越廉价也是大数据快速落地的一个重要原因。

缺点:

  • 不适合低延时数据访问**,**比如毫秒级的存储数据,是做不到的。(HDFS做不到像MySQL那样的快速查询
  • **无法高效的对大量小文件进行存储:**原因(1):存储大量小文件的话,他会占用NameNode大量的内存来存储文件目录和快信息,这样是不可取的,因为NameNode的内存总是有限的; (2):小文件存储的寻址时间会超过读取时间,他违反了HDFS的设计目标。(HDFS对大量的小文件不适用
  • 不支持并发写入,不支持文件随机修改:(1)一个文件只能有一个写,不允许多个线程同时写;(2)仅支持数据append(追加),不支持文件的随机修改。
    在这里插入图片描述

1.3 HDFS组成架构(hadoop3.x)
在这里插入图片描述

ps: HDFS的组成架构图片来自官网。
(1) NameNode(NN): 就是Master 是一个主管,管理者。 管理HDFS的名称空间配置副本策略管理数据块的映射信息处理客户端的读写请求
(2)DataNode(DN):就是slave(奴隶,工作者),NameNode下达命令,DataNode执行实际的操作:存储实际的的数据块执行数据块的读写操作
(3)Client:客户端:文件切分(文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行上传);与NameNode交互,获取文件的具体位置信息与DataNode交互,读取或者写入数据Client提供一些命令来管理HDFS,比如NameNode格式化;Client可以通过一些命令来访问HDFS,比如对HDFS增删改查操作。
(4)Secondary NameNode(2NN)(图中没有):并非NameNode的热备(热备:当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务):辅助NameNode,分担其工作量,比如定期合并Fsimage和Edits,并推送给NameNode; 在紧急情况下,可辅助恢复NameNode(ps:只能恢复一部分数据)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值