hdfs深刻:0三、hdfs的架构以及副本机制和block块存储

HDFS分布式文件系统设计目标

一、            硬件错误  因为集群不少时候由数量众多的廉价机组成,使得硬件错误成为常态node

二、            数据流访问  全部应用以流的方式访问数据,设置之初即是为了用于批量的处理数据,而不是低延时的实时交互处理linux

三、            大数据集   典型的HDFS集群上面的一个文件是以G或者T数量级的,支持一个集群当中的文件数量达到千万数量级数据库

四、            简单的相关模型  假定文件是一次写入,屡次读取的操做缓存

五、            移动计算比移动数据便宜   一个应用请求的计算,离它操做的数据越近,就越高效服务器

六、            多种软硬件的可移植性网络

三、HDFS的来源

HDFS起源于Google的GFS论文(GFS,Mapreduce,BigTable为google的旧的三驾马车)架构

       发表于2003年10月分布式

       HDFS是GFS的克隆版oop

Hadoop  Distributed  File  system性能

       易于扩展的分布式文件系统

       运行在大量普通廉价机器上,提供容错机制

       为大量用户提供性能不错的文件存取服务

四、HDFS的架构图之基础架构

 

 

 

一、NameNode是一个中心服务器,单一节点(简化系统的设计和实现),负责管理文件系统的名字空间(namespace)以及客户端对文件的访问

二、文件操做,namenode是负责文件元数据的操做,datanode负责处理文件内容的读写请求,跟文件内容相关的数据流不通过Namenode,只询问它跟哪一个dataNode联系,不然NameNode会成为系统的瓶颈

三、副本存放在哪些Datanode上由NameNode来控制,根据全局状况做出块放置决定,读取文件时NameNode尽可能让用户先读取最近的副本,下降读取网络开销和读取延时

四、NameNode全权管理数据库的复制,它周期性的从集群中的每一个DataNode接收心跳信号和状态报告,接收到心跳信号意味着DataNode节点工做正常,块状态报告包含了一个该DataNode上全部的数据列表

注:元数据不只保存在内存中,还保存一份在磁盘中,防止意外断电等致使数据丢失。

五、hdfs的架构之文件的文件副本机制以及block块存储

block块的大小能够经过hdfs-site.xml当中的配置文件进行指定:

<property>

        <name>dfs.blocksize</name>

        <value>块大小 以Byte字节为单位</value>//只写数值就能够 默认:134217728B,即128MB

    </property>

<property>
  <name>dfs.replication</name>
  <value>3</value> //block的副本数量设置
</property>

5.一、抽象成数据块的好处

    1. 一个文件有可能大于集群中任意一个磁盘 
      10T*3/128 = xxx块 2T,2T,2T 文件方式存—–>多个block块,这些block块属于一个文件
    2. 使用块抽象而不是文件能够简化存储子系统
    3. 块很是适合用于数据备份进而提供数据容错能力和可用性

5.二、块缓存

block块缓存:能够将咱们的block块缓存到内存当中,咱们在执行一些MR计算的时候,能够直接从内存当中获取数据,比较快,特别适用于一些小表join大表的状况。

5.三、hdfs的文件权限验证

hdfs的权限验证:采用的是linux相似的权限校验机制,防止好人作错事,不能阻止坏人干干事,hdfs相信你告诉我你是谁,你就是谁。

相关文章
相关标签/搜索