美文网首页
Datandoe数据节点

Datandoe数据节点

作者: 小小少年Boy | 来源:发表于2018-07-26 17:16 被阅读0次
  • Datanode以存储数据块(Block)的形式保存HDFS文件
  • 同时Datanode还会响应HDFS客户端读、写数据块的请求
  • Datanode会周期性地向Namenode上报

心跳信息、
数据块汇报信息(BlockReport )、
缓存数据块汇报信息(CacheReport)
增量数据块块汇报信息。

  • Namenode会根据块汇报的内容,修改Namenode的命名空间(Namespace),同时向Datanode返回名字节点指令。Datanode会响应Namenode返回的名字节点指令,如创建、删除和复制数据块指令等。

HDFS联邦机制(Federation)

1.X的缺点导致引入了联邦机制

HDFSl.x架构使用一个Namenode来管理文件系统的命名空间以及数据块信息,这虽然使得HDFS的实现非常简单,但是单一的Namenode会导致以下缺点。

  • 由于Namenode在内存中保存整个文件系统的元数据,所以Namenode内存的大小直接限制了文件系统的大小。
  • 由于HDFS文件的读写等流程都涉及与Namenode交互,所以文件系统的吞吐量受限于单个Namenode的处理能力。
  • Namenode作为文件系统的中心节点,无法做到数据的有效隔离。
  • Namenode是集群中的单一故障点,有可用性隐患
  • Namenode实现了数据块管理以及命名空间管理功能,造成这两个功能高度耦合,难以让其他服务单独使用数据块存储功能。

考虑到上述缺点,为了能够水平扩展Namenode,HDFS2.X引入了联邦机制,提供了Federation架构:

为了能够水平扩展Namenode,HDFS 2.X提供了Federation架构。如图4-3所示, Federation架构的HDFS集群可以定义多个Namenode/Namespace,这些Namenode之间是相互独立的, '它们各自分工管理着自己的命名空间。

HDFS Federation架构图

HDFS Federation两个新的概念:

  • 块池:BlockPool。一个块池由属于同一个命名空间的所有数据块组成,这个块池中的数据块可以存储在集群中的所有Datanode上,而每个Datanode都可以存储集群中所有块池的数据块。这里需要注意的是,每个块池都是独立管理的,不会与其他块池交互。所以一个Namenode出现故障时,并不会影响集群中的Datanode服务于其他的Namenode;

  • 命名空间卷:NamespaceVolume。一个Namenode管理的命名空间以及它对应的块池一起被称为命名空间卷,当一个Namenode/Namespace被删除后,它对应的块池也会从集群的Datanode上删除。需要特别注意的是,当集群升级时,每个命名空间卷都会作为一个基本的单元进行升级

HDFS Federation架构相对于HDFS 1.X架构具有如下优点:

  • 支持Namenode/Namespace的水平扩展性,同时为应用程序和用户提供了命名空间卷级别的隔离性。
  • Federation架构实现起来比较简单, Namenode (包括Namespace)的实现并不需要太大的改变,只需更改Datanode的部分代码即可。例如将BlockPool作为数据块存储的一个新层次,以及更改Datanode内部的数据结构等。

后续:
可以分离Block storage层,有一下的优势:

解耦合Namespace管理以及Block Storage管理;
绕过Namenode/Namespace直接管理数据块,例如:Hbase可直接使用数据块;
可以在Block Storage上构建新文件系统(non-HDFS)


Boy-20180726

相关文章

  • Datandoe数据节点

    Datanode以存储数据块(Block)的形式保存HDFS文件 同时Datanode还会响应HDFS客户端读、写...

  • allocation经验_elasticsearch_clust

    背景: 某数据节点的磁盘告警,将该数据节点改为master节点,将磁盘空闲的master节点改为数据节点。 操作:...

  • 了解复制集

    由传统的主从结构发展而来。 两类节点: 数据节点:存储数据,可以充当主节点 投票节点:负责选举,不存储数据,不能充...

  • Redis主从复制

    1、Redis主从复制 主节点负责写数据,从节点负责读数据。主节点定期把数据同步到从节点,保持主从节点的一致性。 ...

  • zookeeper Api

    zookeeper Api **1创建永久节点 ** **2创建临时节点 ** 3修改节点数据 **4 节点数据查...

  • cytoscope绘图

    数据格式 导入数据(import network) 选择源节点,靶节点 导入节点属性(import tab...

  • redis主从复制和哨兵

    一、Redis主从复制 主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步到从节点保证数据的一致性...

  • redis主从和哨兵

    一、Redis主从复制 主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步到从节点保证数据的一致性...

  • Redis源码分析(二)——Redis数据结构-链表

    数据结构——节点 prev:链表节点的前驱 next:链表节点的后继 value:节点中的值 数据结构——链表 h...

  • Netty笔记之五:Netty实现心跳检测

    前言:集群之间的主节点与从节点之间实现数据的最终一致性。节点与节点之间实现数据的异步同步。节点与节点之间怎样才能感...

网友评论

      本文标题:Datandoe数据节点

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