• 龙海信息网
  • 您的位置:首页 >> 国际新闻 >> 正文

    Ozone Multi-Raft机制对于更大throughput处理量的支持

    发表时间:2020-03-09 信息来源:www.pop-demo.com 浏览次数:1094

     

    文章的前言目录-支持多文件到臭氧多管道的节点重用-支持管道之间的节点重用-支持管道之间的节点重用带来的改进-管道总数的限制参考

    前言

    在前面介绍臭氧文章的内容时,作者多次提到臭氧使用文件一致性协议使副本之间的数据一致。臭氧是使用Raft的Java实现库阿帕奇比率实现的。在早期的Apache Ratios实现中,它需要传入一个管道节点作为命令操作的对象。每个管道之间没有重复的节点。简而言之,这些管道不相交。我们可以理解,在早期的臭氧中,筏子的使用是单一的筏子。每个独立管道都是一个筏组。集群中的节点总数直接决定了管道的最大数量,而管道的最大数量又决定了整个集群容器操作的吞吐量。单个独占节点的Raft方法的问题在于它没有更好地利用数据节点的资源。如果一个节点可以被多个管道组复用,无疑会增加配置管理管道的总数,从而增加容器的请求处理能力。阿帕奇拉提斯在比率-91:中实施多筏支持,增加多筏支持。基于这一改进,Ozone还实施了多股Ozone,即管道交叉多路复用数据节点。本文作者将谈谈臭氧的改进和实现。

    多筏支持臭氧多管道节点重用支持

    一些学生可能不理解上下文,多筏支持将如何发展为臭氧管道的多节点重用?

    这里的过程是这样的:

    Ozone基于Raft协议在内部实现一致性,使用Apache Ratis作为依赖库。在Ratis的内部实现中,Raft组被定义为操作的执行单元,这意味着每个命令处理可以保持Raft组内节点的一致性。通过在此创建管道,臭氧作为节点信息被引入到Raft组。然而,在Apache Ratis的早期实现中,一个节点只能是一个RAFT组的一部分,不能被多个Raft组共享。在某种程度上,这限制了集群中总管道(筏组)的数量。同时,集群流水线的并发处理能力降低。

    但是在Ratis能够支持一个节点成为多个Raft组的一部分之后,可以重用无数据节点的管道创建可以在Ozone端得到支持。然后更多的管道可以被创建并用于臭氧方面。

    这里用一个简单的单排互斥流水线来比较多排的多流水线复用节点模式:

    在原来的模式下,互斥不会穿过流水线,6个节点只能分成2个流水线:

    但是在复用节点模式下,可以创建2个以上的流水线,比如4个(还不是最大值),如下图所示。

    Pipeline

    Ozone Pipeline之间的节点重用支持带来的改进可以提高集群操作请求的吞吐量和集群请求的处理效率。效率的提高从哪里开始?

    Ozone的管道会在节点出现故障或节点由于网络原因无法连接时破坏管道。在销毁过程中,管道的价格非常高。它将关闭管道中的所有容器。SCM向每个容器所属的数据节点容器发送一个命令。整个管道的破坏和重建甚至需要几分钟,这显然不是一个有效的操作。但是,此时,如果我们可以有更多的管道,我们可以大大减少类似节点故障或外部因素造成的管道重建操作开销。管道之间的

    Pipeline

    节点总数的限制可以重复使用,这也意味着集群中的管道总数正在快速扩展。为了避免群集因创建过多管道而处于开销状态。

    Ozone在实现过程中增加了以下两个额外的管道限制:

    节点级限制,一个节点上可以创建的最大管道数量,即一个节点可以包含的最大管道数量。

    总数级别限制,即集群可以使用的最大管道数量。

    此外,在实施多筏的过程中,臭氧还在管道级别实施了机架意识。集群的网络拓扑被传输到管道管理器,然后管道管理器在创建管道选择节点时遵循机架感知规则来选择节点。与HDFS将该数据块的节点位置保存为文件信息的属性相比,Ozone通过对其进行拆分和管理,使得数据的位置分布管理更加灵活。

    Reference

    [1). . Apache . org/吉拉/Browse/HDDS-1564 . ozone Multi-raft support

  • 热门标签

  • 日期归档

  • 友情链接:

    龙海信息网 版权所有© www.pop-demo.com 技术支持:龙海信息网 | 网站地图