用于在网络中的机器的大规模并行处理集群中创建高度可扩展的高可用性集群的系统和方法技术方案

技术编号:14082855 阅读:198 留言:0更新日期:2016-11-30 20:58
提供系统和方法实施例以在大规模并行处理(MPP)系统中实施高度可扩展的以及高可用性(HA)集群。所述实施例包含用以构建高度可扩展的MPP HA集群的方法,所述方法向所述集群提供HA,同时允许所述集群扩展到相对较大数目的节点。实施例设备包含多个数据处理节点,所述数据处理节点分布在多个对应的子集群中并且用于在所述对应的子集群的每一者的限制内在彼此之间交换心跳消息,以维持子集群成员完整性并且检测所述对应子集群中的故障。所述子集群以扇出树层级安排并且用于防止彼此之间的心跳消息传递。

【技术实现步骤摘要】
【国外来华专利技术】相关申请案交叉申请本专利技术要求甘嘎瓦拉·普拉萨德·瓦拉库汝(Gangavara Prasad Varakur)在2013年4月26日递交的专利技术名称为“用于在网络中的机器的大规模并行处理集群中创建高度可扩展的高可用性集群的系统和方法”的第13/871,276号美国专利申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文本中,如同全文再现一般。
本专利技术涉及分布式处理和计算,并且在具体实施例中涉及一种用于在网络中的机器的大规模并行处理集群中创建高度可扩展的高可用性集群的系统和方法。
技术介绍
大规模并行处理(MPP)系统使管理员能够将用于分布式计算应用的数据分布到称为分区或数据节点的多个处理器。例如,MPP数据库系统允许将数据库数据分布到多个数据节点,以通过并行以及分布式方式进行询问处理。MPP的概念是通过多个处理器协同处理程序,其中每个处理器作用于所述程序的不同部分。处理器彼此通信来完成任务,其中所述处理器中的每一者使用其自身的操作系统和存储器资源。通常,MPP系统按比例构建成大量数据节点,但它们具有受限的高可用性,所述高可用性是用于反映系统的特征以通过最小的计划停机时间或计划外停机时间或者在不需要管理干预的情况下继续运行和处理故障的术语。此类系统使管理员能够创建过分简单化的高可用性集群,所述高可用性集群通常采用节点的双层主从设置或单层相同对等体概念,或者甚至不会主动监视各个组件是否发生故障。需要一种还高度可扩展的改进的高可用性集群架构。
技术实现思路
根据一项实施例,用于提供处理节点的大规模并行处理(MPP)集群的方法包含:将MPP集群划分成多个子集群;将子集群安排成扇出树层级;以及在子集群的每一者中的处理节点之间交换心跳消息以维持子集群的每一者中的处理节点的集群成员完整性。根据另一实施例,用于处理节点的MPP集群中的故障恢复的方法包含:检测来自MPP集群的多个子集群的第一子集群中的或MPP集群的多个子集群中的第一处理节点的故障,所述多个子集群以树状拓扑彼此耦合;选择接管来自子集群的第一子集群或第二子集群中的第一处理节点第二处理节点的操作,所述第二子集群耦合到第一子集群;以及从第一子集群中移除第一处理节点。根据又另一实施例,用于处理节点的MPP集群的设备包含多个数据处理节点,所述多个数据处理节点分布在多个对应的子集群中并且用于在对应子集群的每一者的限制内在彼此之间交换心跳消息,以维持子集群成员完整性并且检测对应子集群中的故障,其中子集群以扇出树层级安排并且用于防止彼此之间的心跳消息传递。附图说明为了更完整地理解本专利技术及其优点,现在参考下文结合附图进行的描述,其中:图1图示了具有子集群层级的集群拓扑的实施例;图2图示了用于可扩展的高可用性集群的层级的实施例;图3图示了用于创建高可用性集群树的方法的实施例;图4A和4B图示了用于接管损毁节点的方法的实施例;图5图示了用于崩溃故障处理的方法的实施例;图6是可以用于实施各种实施例的处理系统。具体实施方式下文将详细论述当前优选实施例的制作和使用。然而,应了解,本专利技术提供可以在各种具体上下文中体现的许多适用的专利技术性概念。所论述的具体实施例仅仅图示用以实施和使用本专利技术的具体方式,而不限制本专利技术的范围。传统的MPP数据库系统集中于具有相对较低的可用性需求并且采用简单的数据分布模型的分析应用。更多当前MPP数据库系统扩展MPP架构以支持交易处理应用以及需要进一步高可用性的其他应用。术语“高可用性”在本文中用于指代系统以最小停机时间以及手动或管理干预来处理故障或过程故障以确保整个系统适当地运行的高弹性和能力。MPP系统包含作为基础的集群子系统,以向在集群环境中运行的上层软件程序(例如,数据库/应用服务器或应用程序)提供高可用性。提供集群(就节点的数目而言)的可扩展性以及高可用性(HA)两者是具有挑战性的。通常,例如在可商购的MPP集群中,这通过支持一者或另一者来解决。由于难以在这两者之间平衡,因此HA集群可以具有受限的可扩展性,并且高度可扩展的集群可以具有受限的可用性。例如,一些当前MPP系统使管理员能够基于集群中的心跳的开销以及其对集群的可扩展性的影响创建三种类型的HA集群。心跳(HB)是各个集群组件和节点之中的主动消息传递/探测,以主动地发现MPP系统中的故障组件(处理器/节点/存储装置/网络)。HA集群的三个模型可以通过MPP系统中的组件执行,例如,在集群成员层(CML)处。HA集群的模型包含松耦合集群。在此模型中,CML未被定义或在维持集群时具有基本上受限的角色。如果CML未被定义,则集群类似于联合系统,其中所有集群节点可能不了解集群中所有其他节点的存在。然而,取决于需要与集群中的其他节点通信/协调的应用程序,在特定节点上运行的应用程序可以了解集群中的其他节点的子集。如果CML被定义,则其可以了解集群中的所有节点,但是不存在主动心跳。在任一情况下,由于不存在HB,因此当一个节点上的应用程序尝试接入这些组件/节点时发现故障组件。通常,未定义恢复并且向管理员提出误差状态以恢复和复原MPP系统的完整性。在一些情况下,例如,对于一些误差状态,应用程序可以实施该应用程序特定的专门恢复机制。由于存在最小的CML开销,因此此模型提供最高程度的可扩展性(相比于其他模型)。另一模型是主从集群。在此模型中,集群成员职责被分配到一个或两个主节点上,并且仅在主节点与从节点之间发生有规律的心跳。在此种系统中,从节点不会在自身之间发送任何心跳消息,并且仅主节点涉及集群成员决策。此种类的集群设置是可扩展的,因为心跳受限于主从节点。然而,此模型提供有限的HA,因为整个集群的存在取决于一个或两个主节点。增加集群中的主节点的数目并不解决问题,因为这会损害可扩展性和性能,这是由于被引入以保持所有主节点同步的额外消息传递。与松耦合集群相比,此方法提供更高程度的HA,同时保持集群可扩展性。采用此方法的MPP系统可以扩展到数千个节点。第三模式是紧耦合集群。在此类集群中,所有节点被认为是相同的并且它们都向彼此发送心跳消息以维持集群成员的完整性。此种系统在集群内具有更多消息传递通信量,并且使用更复杂的算法来维持集群完整性。此类型的集群提供最高水平的可用性(与其他模型相比),但在扩展到较大集群尺寸时具有限制。商业集群是可用的,其可以扩展至约128个节点,但实际部署限于较小数目(例如,8个节点)。提供系统和方法实施例来实施MPP系统中的高度可扩展的和HA集群,例如,工作站网络(NoW)、机器集群或云/农业基础结构。实施例包含用以构建高度可扩展的MPP HA集群的方法,所述方法向集群提供HA,同时允许集群扩展到较大数目的节点。实施例还包含用以将此种高度可扩展的HA集群与例如数据库管理系统等MPP应用程序整合以实现最优水平的性能、可扩展性以及可用性的规定。所述方法可以用于为共享磁盘和无共享或混合架构两者构建高度可扩展的HA集群(HSHAC)。高度可扩展的HA集群具有多个特征。所述特征包含避免任何组件的单点故障(SPOF)。在具有高可用性或可靠性的目标的系统中此类SPOF组件是极不合乎需要的。集群的另一特征是提供基本上高的可用性。这意味着只要集群中存在至少一个或预定最小数目的运行中的节点,本文档来自技高网...
用于在网络中的机器的大规模并行处理集群中创建高度可扩展的高可用性集群的系统和方法

【技术保护点】
一种用于提供处理节点的大规模并行处理(MPP)集群的方法,所述方法包括:将所述MPP集群分成多个子集群;将所述子集群安排成扇出树层级;以及在所述子集群的每一者中的所述处理节点之间交换心跳消息以维持所述子集群的每一者中的所述处理节点的集群成员完整性。

【技术特征摘要】
【国外来华专利技术】2013.04.26 US 13/871,2761.一种用于提供处理节点的大规模并行处理(MPP)集群的方法,所述方法包括:将所述MPP集群分成多个子集群;将所述子集群安排成扇出树层级;以及在所述子集群的每一者中的所述处理节点之间交换心跳消息以维持所述子集群的每一者中的所述处理节点的集群成员完整性。2.根据权利要求1所述的方法,其进一步包括限制在所述子集群的每一者内的所述处理节点之间交换心跳消息并且防止心跳通信量到达其他子集群中的处理节点。3.根据权利要求1所述的方法,其进一步包括:在检测到第一子集群中的处理节点的崩溃之后,分配所述第一子集群或耦合到所述第一子集群的第二子集群中的另一处理节点以接管所述崩溃的处理节点的操作;以及从所述第一子集群移除所述崩溃的处理节点。4.根据权利要求3所述的方法,其中所述处理节点的所述崩溃通过检测来自所述崩溃的处理节点的缺少的心跳消息或在另一节点无法到达所述处理节点时检测到。5.根据权利要求1所述的方法,其中所述心跳消息根据令牌环协议在同一子集群内的所述处理节点之间交换。6.根据权利要求1所述的方法,其中所述心跳消息使用所有对等体心跳消息传递在同一子集群内的所述处理节点的每一者之间交换。7.一种用于处理节点的MPP集群中的故障恢复方法,所述方法包括:检测来自所述MPP集群的多个子集群的第一子集群中的或所述MPP集群的多个子集群中的第一处理节点的故障,所述多个子集群以树状拓扑彼此耦合;选择接管来自所述子集群的所述第一子集群或第二子集群中的所述第一处理节点、第二处理节点的操作,所述第二子集群耦合到所述第一子集群;以及从所述第一子集群移除所述第一处理节点。8.根据权利要求7所述的方法,其中所述第一子集群是叶子集群(LSC),并且其中所述第二处理节点选自所述LSC。9.根据权利要求7所述的方法,其中所述第一子集群是元子集群(MSC)并且所述第一处理节点是将所述MSC耦合到另一子集群的连接器节点,并且其中所述第二处理节点是叶节点,所述叶节点唯一地属于所述MSC并且被促进到替代所述第一处理节点的连接器节点。10.根据权利要求7所述的方法,其中所述第一子集群是元子集群(MSC)并且所述第一处理节点是将所述MSC耦合到另一子集群的连接器节点,并且其中所述第二子集群是叶子集群(LSC)并且所述第二处理节点...

【专利技术属性】
技术研发人员:甘嘎瓦拉·普拉萨德·瓦拉库汝阿尼尔·吉拉里格
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1