二、HDFS学习

Hadoop Distributed File System 简称HDFS
一、HDFS设计目标 
    1、支持海量的数据,硬件错误是常态,因此需要 28193924-4170051e1ea2439cb3647923bc67a86a.png ,就是备份
    2、一次写多次读
    3、运行在普通的硬件上面
    4、数据块尽量散步到各个节点中
 
二、HDFS不适合的场景
    1、不适合低延迟的数据,对一个大文件整个文件进行读取,即批量读取而非随机读取
    2、小文件
    3、无法对文件的内容任意修改
 
三、HDFS架构
    1、一个文件被划分成大小固定的多个文件块,分布的存储在集群中的节点中
28193925-9a527ef3a4554938bce988251d5468ac.png 
    一个文件一台电脑直接读取需要花费很多时间,但是多个电脑同时读取就可以看出速度啦。
    2、同一个文件块在不同的节点中有多个副本
     28193925-d17b9027971f4de1b79355d5807b911f.png
    如果说第一个节点处的文件1失效不能工作了,那么hadoop根据你的配置去自动需找其他的副本,这些副本的拷贝是在hadoop的配置文件中进行指定的,副本的个数都是可以配置的。
    3、一个集中的地方保存文件的分块信息
     28193925-951ac1496f6b426cad4a6019fa2b5dc7.png
    集中的地方就叫做namenode用于保存分块的信息,namenode只有一个,首先我们必须从namenode获得分块信息,上面就是namenode中分块的信息。
     28193925-9d746ab22c2447149e0d24dd99494339.png
                                
     上图是datanode的信息,就是讲文件进行分块存储,然后进行并行读取节点信息,相比传统的方式,一般是将硬盘作为一个节点进行存储,而hadoop则是将分布的主机作为节点进行存储。
    4、HDFS体系结构
     28193926-2e0dcc949b6d40abad129420bce02e99.png 28193927-9609b015cdb147c28ebf44754080f75e.png
    5、NameNode   
     28193927-84471456e1ba441b95d2bbae2604b25f.png  
        6、DataNode
         28193927-917f9bd853c6492380ff1b483982929f.png
 
四、总结
    1、Block:一个文件分块,默认为64M
    2、NameNode:保存整个文件的目录信息、文件信息以及文件相应的分块信息,如果namenode支持很多的datanode数据节点信息时,因为读取任意一个文件都需要从namenode中读取信息,那读取namenode就将是文件读取的瓶颈,所以为了避免这个问题的出现,一般将namenode的信息保存到内存中,同时将一些信息持久化到磁盘中,防止读取失败时有备份信息。
    3、DataNode:用于存储Blocks
    4、 HDFS的HA策略:NameNode一旦宕机,整个文件系统将无法工作。如果NameNode中的数据丢失,整个文件系统也就丢失了。所以从hadoop2.x开始,HDFS支持NameNode的active-standy模式,就是同时开启多个namenode当active模式工作时,standy模式会同步active所有的信息,当active不能工作时,standy就会转变为active模式来接管namenode。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值