一种大数据平台管理节点高可用的实现方法及装置与流程

文档序号:23097321发布日期:2020-11-27 12:59阅读:90来源:国知局
一种大数据平台管理节点高可用的实现方法及装置与流程
本发明涉及管理节点可用领域,尤其是涉及一种大数据平台管理节点高可用的实现方法及装置。
背景技术
:在大数据时代,越来越多的公司和单位应用大数据技术处理海量信息助力业务发展,大数据的应用变得越来越广泛。但是大数据组件众多、相互依赖,运维工作十分复杂,大数据管理平台的出现大大简化了大数据集群的运维工作,降低了大数据技术的使用门槛。但是,基于开源ambari的大数据管理平台存在单点故障的问题,一旦管理节点出现故障不可用时,大数据组件虽然处于运行状态,业务不受影响,但是集群处于无监控、不可管理的状态,而且大数据各个组件的监听端口也和开源默认端口不一致,导致用户无法查看业务具体运行状态,大数据集群处于“失联”状态。因此,大数据管理平台管理节点高可用如何实现是一个需要面临解决的问题。技术实现要素:本发明为了解决现有技术中存在的问题,创新提出了一种大数据平台管理节点高可用的实现方法及装置,有效解决由于管理节点故障时造成大数据平台集群无法监控以及管理的问题,有效的提高了大数据平台管理节点高可用实现的可靠性。本发明第一方面提供了一种大数据平台管理节点高可用的实现方法,包括:根据集群规模设定管理节点的个数;实时获取管理节点的状态以及加权值,根据管理节点的状态以及加权值选择切换最优管理节点作为主管理节点,用于提供对外服务,剩余管理节点作为备用管理节点;接收客户端或集群代理节点的请求信息,查询本地缓存中是否存在相同的请求信息,如果存在,将本地缓存中的请求信息对应的请求结果返回给对应客户端或集群代理节点;如果不存在,转发请求信息;接收转发的请求信息,根据请求类型将请求信息对应发送主管理节点,并将主管理节点返回的结果信息返回给客户端或集群代理节点。可选地,根据集群规模设定管理节点的个数具体包括:获取集群规模信息;判断集群规模是否大于第一阈值,如果集群规模大于第一阈值,设定第一数量的管理节点;如果集群规模大于第一阈值且小于第二阈值,设定第二数量的管理节点;如果集群规模大于第二阈值,设定第三数量的管理节点。获取管理节点的状态以及加权值,根据管理节点的状态以及加权值选择切换最优管理节点作为主管理节点具体包括:各个管理节点计算自身的加权值;获取管理节点的状态以及加权值;选择切换状态为存活状态且加权值最大的管理节点作为主管理节点。进一步地,各个管理节点计算自身的加权值具体是:建立加权值的计算公式,具体是:其中,w为管理节点的加权值,rmax为所有管理节点中内存的最大值,r为当前计算的管理节点的内存值,pmax为所有管理节点中核数的最大值,p为当前计算的管理节点的核数;根据加权值的计算公式,各个管理节点计算自身的加权值。可选地,所述请求类型包括:页面请求、握手通讯请求、心跳请求、数据访问请求。本发明第二方面还提供了一种大数据平台管理节点高可用的实现装置,包括:选择设定模块,根据集群规模设定管理节点的个数;切换模块,实时获取管理节点的状态以及加权值,根据管理节点的状态以及加权值选择切换最优管理节点作为主管理节点,用于提供对外服务,剩余管理节点作为备用管理节点;接收模块,接收客户端或集群代理节点的请求信息,查询本地缓存中是否存在相同的请求信息,如果存在,将本地缓存中的请求信息对应的请求结果返回给对应客户端或集群代理节点;如果不存在,转发请求信息;转发模块,接收转发的请求信息,根据请求类型将请求信息对应发送主管理节点,并将主管理节点返回的结果信息返回给客户端或集群代理节点。可选地,选择设定模块具体包括:第一获取子模块,获取集群规模信息;判断子模块,判断集群规模是否大于第一阈值,如果集群规模大于第一阈值,设定第一数量的管理节点;如果集群规模大于第一阈值且小于第二阈值,设定第二数量的管理节点;如果集群规模大于第二阈值,设定第三数量的管理节点。可选地,切换模块具体包括:计算子模块,各个管理节点计算自身的加权值;第二获取子模块,获取管理节点的状态以及加权值;选择切换子模块,选择切换状态为存活状态且加权值最大的管理节点作为主管理节点。进一步地,计算子模块中的加权值的计算公式具体是:其中,w为管理节点的加权值,rmax为所有管理节点中内存的最大值,r为当前计算的管理节点的内存值,pmax为所有管理节点中核数的最大值,p为当前计算的管理节点的核数。可选地,所述请求类型包括:页面请求、握手通讯请求、心跳请求、数据访问请求。本发明采用的技术方案包括以下技术效果:1、本发明大数据平台在管理节点发生故障,服务停止时,大数据集群仍然能够稳定运行,继续提供集群服务,能够有效的提高大数据平台的可用性,有效解决由于管理节点故障时造成大数据平台集群无法监控以及管理的问题,有效的提高了大数据平台管理节点高可用实现的可靠性。2、本发明中接收客户端或集群代理节点的请求信息,查询本地缓存中是否存在相同的请求信息,如果存在,将本地缓存中的请求信息对应的请求结果返回给对应客户端或集群代理节点;如果不存在,转发请求信息,提高了大数据平台请求信息的处理效率。3、本发明在主管理节点故障时,从备用管理节点中选择加权值最大的备用管理节点作为主管理节点,保证了主管理节点的资源配置充足以及性能最佳。4、本发明中根据请求类型将请求信息对应发送主管理节点,保证了请求信息的正常高效传送以及处理。应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本发明。附图说明为了更清楚说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明方案中实施例一方法的流程示意图;图2为本发明方案中实施例一方法中步骤s1的流程示意图;图3为本发明方案中实施例一方法中步骤s2的流程示意图;图4为本发明方案中实施例一方法中步骤s21的流程示意图;图5为本发明方案中实施例二装置的结构示意图;图6为本发明方案中实施例一大数据平台内部节点连接示意图;图7为本发明方案中实施例二装置中选择设定模块的结构示意图;图8为本发明方案中实施例二装置中切换模块的结构示意图;图9为本发明方案中实施例二装置中转发模块的结构示意图。具体实施方式为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。实施例一如图1所示,本发明提供了一种大数据平台管理节点高可用的实现方法,大数据平台是基于开源ambari的基础上实现的,包括:s1,根据集群规模设定管理节点的个数;s2,实时获取管理节点的状态以及加权值,根据管理节点的状态以及加权值选择切换最优管理节点作为主管理节点,用于提供对外服务,剩余管理节点作为备用管理节点;s3,接收客户端或集群代理节点的请求信息,查询本地缓存中是否存在相同的请求信息,如果判断结果为是,则执行步骤s4,如果判断结果为否,则执行步骤s5;s4,将本地缓存中的请求信息对应的请求结果返回给对应客户端或集群代理节点;s5,转发请求信息;s6,接收转发的请求信息,根据请求类型将请求信息对应发送主管理节点,并将主管理节点返回的结果信息返回给客户端或集群代理节点。其中,如图2所示,步骤s1具体包括:s11,获取集群规模信息;s12,判断集群规模是否大于第一阈值,如果判断结果为是,则执行步骤s13,如果判断结果为否,则执行步骤s14;s13,设定第一数量的管理节点;s14,判断集群规模是否大于第一阈值且小于第二阈值,如果判断结果为是,则执行步骤s15,如果判断结果为否,则执行步骤s16;s15,设定第二数量的管理节点;s16,设定第三数量的管理节点。在步骤s11-s16中,集群规模与管理节点的数量关系如下表所示:集群中节点个数管理节点个数小于等于1002大于100小于等3003大于3004具体地,第一阈值为100,第一数量为2;第二阈值为300,第二数量为3,;第三数量为4;集群规模与管理节点的数量关系也可以根据实际情况进行灵活调整,本发明在此不做限制。如图3所示,步骤s2具体包括:s21,各个管理节点计算自身的加权值;s22,获取管理节点的状态以及加权值;s23,选择切换状态为存活状态且加权值最大的管理节点作为主管理节点。进一步地,如图4所示,步骤s21具体包括:s211,建立加权值的计算公式,具体是:其中,w为管理节点的加权值,rmax为所有管理节点中内存的最大值,r为当前计算的管理节点的内存值,pmax为所有管理节点中核数的最大值,p为当前计算的管理节点的核数;s212,根据加权值的计算公式,各个管理节点计算自身的加权值。特殊情况下,如果管理节点的加权值相同,则可以在两个相同的管理节点中随机选择一个作为主管理节点。实时检测各个管理节点存活状态,当主管理节点不能提供服务时,发送警告提示维护人员进行修复故障的主管理节点,并选择加权值最大的存活的备用管理节点作为对外提供服务的主管理节点;当检测到存活的管理节点个数小于等于1时,也会发送警告提示维护人员进行修复不是存活状态的备用管理节点,以便于当主管理节点发生故障时,能够及时切换备用管理节点,保证主管理节点随时能够替换,实现管理节点高可用;当原主管理节点(故障节点)恢复服务时,判断当前主管理节点的加权值与原主管理节点的加权值的大小,如果,当前主管理节点加权值不小于原主管理节点加权值,则继续由当前主管理节点提供对外服务;如果当前主管理节点加权值小于原主管理节点的加权值,则切换到原主管理节点对外提供服务。在步骤s3-s5中,接收客户端或集群代理节点(agent)的所有请求信息,查询本地缓存中是否存在相同的请求信息如果存在,将本地缓存中的请求信息对应的请求结果返回给对应客户端或集群代理节点;如果不存在,转发请求信息,由主管理节点处理。在步骤s6中,接收到转发请求信息后,根据请求的端口判断请求类型,请求类型具体包括:页面请求、握手通讯请求、心跳请求、数据访问请求,每一种请求类型由相应的业务子模块进行执行,保证了请求信息传递的高效性,具体地,可以是:页面转发子模块、握手通讯转发子模块、心跳转发子模块和数据转发子模块。需要说明的是,本发明技术方案中管理节点选择设定模块、主管理节点切换模块、请求信息接收、请求信息转发等均可以是通过软件语言程序编程实现,软件语言的编程思路与本发明各个步骤的执行过程相对应,也可以通过硬件(如服务器)等其他方式实现,只要能够实现相应功能即可,本发明在此不做限制。本发明大数据平台在管理节点发生故障,服务停止时,大数据集群仍然能够稳定运行,继续提供集群服务,能够有效的提高大数据平台的可用性,有效解决由于管理节点故障时造成大数据平台集群无法监控以及管理的问题,有效的提高了大数据平台管理节点高可用实现的可靠性。本发明中接收客户端或集群代理节点的请求信息,查询本地缓存中是否存在相同的请求信息,如果存在,将本地缓存中的请求信息对应的请求结果返回给对应客户端或集群代理节点;如果不存在,转发请求信息,提高了大数据平台请求信息的处理效率。本发明在主管理节点故障时,从备用管理节点中选择加权值最大的备用管理节点作为主管理节点,保证了主管理节点的资源配置充足以及性能最佳。本发明中根据请求类型将请求信息对应发送主管理节点,保证了请求信息的正常高效传送以及处理。实施例二如图5-图6所示,一种大数据平台管理节点高可用的实现装置,其特征是,大数据平台是基于开源ambari的基础上实现的,包括:选择设定模块11,根据集群规模设定管理节点的个数;切换模块12,实时获取管理节点的状态以及加权值,根据管理节点的状态以及加权值选择切换最优管理节点作为主管理节点,用于提供对外服务,剩余管理节点作为备用管理节点;接收模块13,接收客户端或集群代理节点的请求信息,查询本地缓存中是否存在相同的请求信息,如果存在,将本地缓存中的请求信息对应的请求结果返回给对应客户端或集群代理节点;如果不存在,转发请求信息;转发模块14,接收转发的请求信息,根据请求类型将请求信息对应发送主管理节点,并将主管理节点返回的结果信息返回给客户端或集群代理节点。其中,如图7所示,选择设定单元11具体包括:第一获取子模块111,获取集群规模信息;判断子模块112,判断集群规模是否大于第一阈值,如果集群规模大于第一阈值,设定第一数量的管理节点;如果集群规模大于第一阈值且小于第二阈值,设定第二数量的管理节点;如果集群规模大于第二阈值,设定第三数量的管理节点。如图8所示,切获取及选择单元12具体包括:计算子模块121,各个管理节点计算自身的加权值;第二获取子模块122,获取管理节点的状态以及加权值;选择切换子模块123,选择切换状态为存活状态且加权值最大的管理节点作为主管理节点。进一步地,计算子模块121中的加权值的计算公式具体是:其中,w为管理节点的加权值,rmax为所有管理节点中内存的最大值,r为当前计算的管理节点的内存值,pmax为所有管理节点中核数的最大值,p为当前计算的管理节点的核数;请求类型包括:页面请求、握手通讯请求、心跳请求、数据访问请求,每一种请求类型由相应的业务子模块进行执行,保证了请求信息传递的高效性,具体地,如图9所示,可以是:页面转发子模块141、握手通讯转发子模块142、心跳转发子模块143和数据转发子模块144。本发明大数据平台在管理节点发生故障,服务停止时,大数据集群仍然能够稳定运行,继续提供集群服务,能够有效的提高大数据平台的可用性,有效解决由于管理节点故障时造成大数据平台集群无法监控以及管理的问题,有效的提高了大数据平台管理节点高可用实现的可靠性。本发明中接收客户端或集群代理节点的请求信息,查询本地缓存中是否存在相同的请求信息,如果存在,将本地缓存中的请求信息对应的请求结果返回给对应客户端或集群代理节点;如果不存在,转发请求信息,提高了大数据平台请求信息的处理效率。本发明在主管理节点故障时,从备用管理节点中选择加权值最大的备用管理节点作为主管理节点,保证了主管理节点的资源配置充足以及性能最佳。本发明中根据请求类型将请求信息对应发送主管理节点,保证了请求信息的正常高效传送以及处理。上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1