CN114390050A - 一种跨机房集群控制方法及装置 - Google Patents

一种跨机房集群控制方法及装置 Download PDF

Info

Publication number
CN114390050A
CN114390050A CN202111633163.XA CN202111633163A CN114390050A CN 114390050 A CN114390050 A CN 114390050A CN 202111633163 A CN202111633163 A CN 202111633163A CN 114390050 A CN114390050 A CN 114390050A
Authority
CN
China
Prior art keywords
machine room
task
target
target task
room
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111633163.XA
Other languages
English (en)
Inventor
刘志军
丁开生
游彦雯
黄平
郑博
郑振宇
宫云平
吴信川
朱应坚
许群路
何全胜
张伟
赵国晖
张运基
芦康磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202111633163.XA priority Critical patent/CN114390050A/zh
Publication of CN114390050A publication Critical patent/CN114390050A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1046Joining mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种跨机房集群控制方法及装置,该方法包括:接收至少一个机房发送的至少一个目标任务;根据至少一个目标任务中的每个目标任务中包含的任务信息,确定与至少一个目标任务中的每个目标任务对应的目标机房;任务信息中包括任务输入数据所在机房标识、任务输出数据所在机房标识、以及任务类型;将至少一个目标任务中的每个目标任务分配给对应的目标机房,以使至少一个目标任务中的每个目标任务在对应的目标机房中执行。本申请提供的跨机房集群控制方法与架构,通过波分互联的方式实现跨机房实现计算资源以及存储空间的共享,从而减小交换机的堆叠,减少网络抖动。

Description

一种跨机房集群控制方法及装置
技术领域
本申请涉及分布式集群领域,特别涉及一种跨机房集群控制方法及装置。
背景技术
大数据时代诞生的海杜普(Hadoop)开源软件,被普遍应用在各种规模数据存储和计算系统之中,Hadoop从诞生至今已经得到了互联网、电信、金融等等多个行业的广泛应用。其吞吐率、可靠性以及易用性等方面已经得到了业界的普遍认可。
但目前基于Hadoop设计的传统集群架构存在以下几种弊端:1)单个机房的容量有限,在数据中心/机房中的机位已满时,则无法继续扩充集群,从而不能满足数据量增长的需求;2)针对多个机房设置多个不同的集群,不同领域的数据无法相互关联,上述数据需要同步或转移到同一集群之后才能后续运算;3)多个不同的集群中用于负责计算的资源或者用于负责存储的资源是相互独立,无法合理的分配或共享使用。4)在多个机房均设置集群,所耗费的运维成本过高;5)若在某个机房内存在故障时,该机房的业务稳定性难以保障。
有鉴于此,需要设计一种新型跨机房集群控制方法,以解决各机房之间数据各自独立无法互通互联使用,且运维成本过高的问题。
发明内容
本申请提供一种跨机房集群控制方法及装置,用于解决各机房之间数据各自独立无法互通互联使用,且运维成本过高的问题。
第一方面,本申请提供一种跨机房集群控制方法,所述方法包括:
接收至少一个机房发送的至少一个目标任务;
根据所述至少一个目标任务中的每个目标任务中包含的任务信息,确定与所述至少一个目标任务中的每个目标任务对应的目标机房;所述任务信息中包括任务输入数据所在机房标识、任务输出数据所在机房标识、以及任务类型;
将所述至少一个目标任务中的每个目标任务分配给对应的所述目标机房,以使所述至少一个目标任务中的每个目标任务在对应的目标机房中执行。
作为一种可能的实施方式,所述方法还包括:
在所述至少一个机房中的每个机房中设置波分复用设备,由所述至少一个机房中的每个机房设置的波分复用设备构成网络拓扑结构,以使所述至少一个机房中的每个机房的网络通过波分复用设备共享。
作为一种可能的实施方式,所述方法还包括:
接收至少一个机房中的每个机房发送的心跳信息、数据存储信息以及计算资源信息,确定所述至少一个机房中的每个机房的数据存储情况以及计算资源使用情况;
基于所述至少一个机房中的每个机房的数据存储情况以及计算资源使用情况,建立共享存储空间以及共享计算资源队列。
作为一种可能的实施方式,在建立所述共享存储空间之后,所述方法还包括:
将相同机房中的数据定义同样的名称空间,根据设定的数据分配策略,将所述共享存储空间中的数据分配给所述至少一个机房中的每个机房进行存储,所述设定的数据分配策略,包括:数据业务类型、数据位置信息以及数据领域。
作为一种可能的实施方式,建立所述共享计算资源队列,包括:
基于所述至少一个机房中的每个机房的计算资源使用情况,将所述至少一个机房中的每个机房的计算资源之和,按设定资源块大小重新划分为多块计算资源块;
利用所述多块计算资源块建立至少一列计算资源队列。
作为一种可能的实施方式,根据所述至少一个目标任务中的每个目标任务中包含的任务信息,确定与所述至少一个目标任务中的每个目标任务对应的目标机房,包括:
根据所述目标任务中包含的任务信息,确定与所述目标任务对应的目标任务输入数据所在机房以及目标任务输出数据所在机房;
在所述目标任务输入数据所在机房满足任务执行条件时,将所述目标任务输入数据所在机房确定为所述目标机房,其中,所述任务执行条件包括如下至少一种:机房带宽大于设定带宽阈值、机房计算资源大于设定计算资源阈值以及机房存储空间大于设定存储空间阈值;
在所述目标任务输出数据所在机房满足所述任务执行条件时,将所述目标任务输出数据所在机房确定为所述目标机房;
在所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均满足所述任务执行条件时,比较所述目标任务输入数据所在机房的机房计算资源与所述目标任务输出数据所在机房的机房计算资源的大小,将机房计算资源更大的机房确定为所述目标机房;
在所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均不满足所述任务执行条件时,从所述至少一个机房中其他机房中,确定所述机房带宽最大的机房为所述目标机房。
利用本申请提供的跨机房集群控制方法,在网络方面,跨机房集群可以通过波分互联实现跨机房网络共享,减少交换机的相互堆叠,进而降低网络抖动,从而构建异地多活的Hadoop集群,增强业务的健壮性,减少运维成本;在存储方面,跨机房集群的存储共享使用可以联邦模式,从而划分多个命名空间,实现物理隔离且逻辑统一,根据各个机房的实际资源情况以及业务的各种类型做合理的数据切分策略,从而能很好地控制跨机房的网络流量,提升处理性能;在计算方面,跨机房集群计算可以将一个较大的共享资源池划分为多个最小资源块,从而异地机房零碎空闲计算资源。在任务分配方面,跨机房集群的任务分配可以通过跨机房任务调度策略,进行跨机房内的资源分配和调度,提升大数据系统的鲁棒性以及系统运行能力,优化资源配置。
第二方面,本申请提供一种跨机房集群控制装置,所述装置包括:
任务接收模块,用于:接收至少一个机房发送的至少一个目标任务;
机房确定模块,用于:根据所述至少一个目标任务中的每个目标任务中包含的任务信息,确定与所述至少一个目标任务中的每个目标任务对应的目标机房;所述任务信息中包括任务输入数据所在机房标识、任务输出数据所在机房标识、以及任务类型;
任务分配模块,用于:将所述至少一个目标任务中的每个目标任务分配给对应的所述目标机房,以使所述至少一个目标任务中的每个目标任务在对应的目标机房中执行。
作为一种可能的实施方式,所述装置还包括:
网络共享模块,用于:在所述至少一个机房中的每个机房中设置波分复用设备,由所述至少一个机房中的每个机房设置的波分复用设备构成网络拓扑结构,以使所述至少一个机房中的每个机房的网络通过波分复用设备共享。
作为一种可能的实施方式,所述装置还包括:
共享空间及计算资源模块,用于:接收至少一个机房中的每个机房发送的心跳信息、数据存储信息以及计算资源信息,确定所述至少一个机房中的每个机房的数据存储情况以及计算资源使用情况;
基于所述至少一个机房中的每个机房的数据存储情况以及计算资源使用情况,建立共享存储空间以及共享计算资源队列。
作为一种可能的实施方式,所述装置还包括:
存储空间处理模块,用于:将相同机房中的数据定义同样的名称空间,根据设定的数据分配策略,将所述共享存储空间中的数据分配给所述至少一个机房中的每个机房进行存储,所述设定的数据分配策略,包括:数据业务类型、数据位置信息以及数据领域。
作为一种可能的实施方式,所述共享空间及计算资源模块,具体用于:基于所述至少一个机房中的每个机房的计算资源使用情况,将所述至少一个机房中的每个机房的计算资源之和,按设定资源块大小重新划分为多块计算资源块;
利用所述多块计算资源块建立至少一列计算资源队列。
作为一种可能的实施方式,所述任务分配模块,具体用于:
根据所述目标任务中包含的任务信息,确定与所述目标任务对应的目标任务输入数据所在机房以及目标任务输出数据所在机房;
在所述目标任务输入数据所在机房满足任务执行条件时,将所述目标任务输入数据所在机房确定为所述目标机房,其中,所述任务执行条件包括如下至少一种:机房带宽大于设定带宽阈值、机房计算资源大于设定计算资源阈值以及机房存储空间大于设定存储空间阈值;
在所述目标任务输出数据所在机房满足所述任务执行条件时,将所述目标任务输出数据所在机房确定为所述目标机房;
在所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均满足所述任务执行条件时,比较所述目标任务输入数据所在机房的机房计算资源与所述目标任务输出数据所在机房的机房计算资源的大小,将机房计算资源更大的机房确定为所述目标机房;
在所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均不满足所述任务执行条件时,从所述至少一个机房中其他机房中,确定所述机房带宽最大的机房为所述目标机房。
第三方面,本申请提供一种跨机房集群控制系统,所述系统包括:至少一个机房以及第二方面任一所述的跨机房集群控制装置;
所述至少一个机房中的每个机房,用于:接收目标任务,将所述目标任务发送给所述跨机房集群控制装置。
第四方面,本申请提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法。
本申请的这些方面或其它方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为一种跨机房集群控制方法的步骤流程图;
图2为一种YARN的资源集群管理架构的结构示意图;
图3为一种跨机房集群控制装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前Hadoop集群中存在以下几种弊端:1)单个机房的容量有限,在机位已满时无法继续扩充集群;2)多个不同的集群内存在不同领域的数据无法相互关联;3)多个不同的集群中用于负责计算/存储的资源相互独立;4)多个机房均设置集群,成本过高;5)在某个机房内出现故障时,该机房的业务难以稳定。
有鉴于此,本申请提供一种跨机房集群控制方法及装置,通过波分互联的方式实现跨机房网络实现计算资源以及存储空间的共享,从而减小交换机的堆叠,减少网络抖动。
以下,对本申请实施例涉及部分用语进行解释说明,以便于本领域技术人员理解。
(1)海杜普(Hadoop):是一个开发和运行处理大规模数据的软件平台,是阿帕奇(Apache)的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。
(2)数据联邦(Federation):是比较成熟的企业数据集成方法之一,数据联邦能够统一地访问任何信息存储中以任何格式(结构化的和非结构化的)表示的任何数字信息。
(3)视图文件系统(ViewFS):视图文件系统提供一种可以管理多个Hadoop文件系统命名空间(命名空间卷)的方法,在联邦模式的多个管理文件系统的命名空间(NameNode)核多个命名空间场景下尤为重要,ViewFS类似于某些尤内克斯(Unix)/类Unix操作系统(Linux)操作系统下的客户端挂载表,它不仅可以用于创建个性化的命名空间视图,还可以创建全局化的视图。每个集群都有联邦模式集成的多个命名空间的文件hadoop系统。
(4)心跳信息(Heartbeat Message):是一种发送源发送到接收方的消息,这种消息可以让接收方确定发送源是否以及何时出现故障或终止。通常,心跳信息从发送源启动时开始发送,直到发送源关闭,期间发送源会不间断的发送周期性或重复信息。当接收方在某个消息接收周期内未收到信息,接收方可能会认为发送源已经关闭、出现故障、或者当前不可用。心跳信息可能常被用于高可用性或容错处理的目的。
(5)另一种资源协调者(Yet Another Resource Negotiator,YARN):是一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。YARN的基本思想是将JobTracker(作业跟踪器)的两个主要功能(资源管理和作业调度/监控)分离,主要方法是创建一个全局的ResourceManager(集群资源管理器,RM)和若干个针对应用程序的ApplicationMaster(应用程序主机,AM)。
(6)接入层:指网络中直接面向用户连接或访问的部分。接入层利用光纤、双绞线、同轴电缆、无线接入技术等传输介质,实现与用户连接,并进行业务和带宽的分配,接入层目的是允许终端用户连接到网络,因此,接入层交换机具有低成本和高端口密度特性。
(7)汇聚层:是楼群或小区的信息汇聚点,是连接接入层和核心层的网络设备,为接入层提供数据的汇聚\传输\管理\分发处理。汇聚层为接入层提供基于策略的连接,如地址合并,协议过滤,路由服务,认证管理等。通过网段划分与网络隔离可以防止某些网段的问题蔓延和影响到核心层。汇聚层同时也可以提供接入层虚拟网之间的互连,控制和限制接入层对核心层的访问,保证核心层的安全和稳定。
(8)命名空间:也称“名称空间”,是一种代码组织的形式,通过名称空间来分类,区别不同的代码功能。命名空间是用来组织和重用代码的。如同名字一样的意思,之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了,为了解决这个问题,引入名字空间这个概念,如此不会引起不必要的冲突。
如图1所示,本发明实施例跨机房集群控制方法,包括如下步骤:
步骤S101,接收至少一个机房发送的至少一个目标任务;
步骤S102,根据所述至少一个目标任务中的每个目标任务中包含的任务信息,确定与所述至少一个目标任务中的每个目标任务对应的目标机房;所述任务信息中包括任务输入数据所在机房标识、任务输出数据所在机房标识、以及任务类型。
步骤S103,将所述至少一个目标任务中的每个目标任务分配给对应的所述目标机房,以使所述至少一个目标任务中的每个目标任务在对应的目标机房中执行。
本发明实施例的执行主体既可以为负责用于描述数据存储位置、历史数据、资源查找、文件记录等的中心服务器(又称名称节点)NameNode等等,也可以为ETL(Extract-Transform-Load,数据仓库)。
需要说明的是,本发明实施例可以应用于2G网络、3G网络、4G网络、5G网络、6G网络、固网等能够用于传输数据的网络结构中。
本发明实施例的执行主体可以实现网络共享、存储共享、计算共享,使多专业多领域的数据互相拉通,从而实现数据统一与共享,提升平台运行稳定性,增强业务的健壮性。
跨机房集群控制系统为了实现网络共享、存储共享、计算共享,使多专业多领域的数据互相拉通,需要构建一个跨机房共享网络:
作为一种可能的实施方式,跨机房共享网络的方式可以包括:在所述至少一个机房中的每个机房中设置波分复用设备,由所述至少一个机房中的每个机房设置的波分复用设备构成网络拓扑结构,以使所述至少一个机房中的每个机房的网络通过波分复用设备共享。
在需要跨机房通信、共享等前提下,多个机房中的每个机房可以通过其中的服务器或者网络设备,实现网络共享。具体的,可以使用双上联负载均衡,来实现节点高可用特性及机房间的高带宽互联功能。目前在网络冗余保护中,可以采用设备冗余保护,设备冗余保护包括传统的光线路终端设备(OLT)主干光纤冗余保护、主控盘冗余保护、OLT设备上联盘链路聚合保护、电源设备冗余保护等等,双上联方式能在链路发生故障的情况下,通过主备链路的倒换来提高网络的可靠性。在正常情况下,流量通过主链路,一旦主用链路发生故障时,及时将流量切换到备用链路,以此来提高网络传输的可靠性。
在实现节点高可用特性及机房间的高带宽互联功能后网关内可以使用高性能网络交换机,按简易的两层架构(接入层-汇聚层)部署网络结构,从而减少堆叠,降低时延,使得网络共享的效果更佳。本申请实施例中高性能网络交换机,可以但不限于构建上述网络架构,还可以构建架构更佳完备的三层或多层架构,本领域技术人员应当知晓,这里不做过多赘述。
多个机房中的每个机房采用物理波分设备,实现网络互联互通。其中,通信光纤具有很大的信息容量,在一根光纤内部可以同时并彼此独立地传送多种不同波长的光信号,每个光信号都可以作为一个独立载波承载不同的信息内容,并且可以方便的通过增减波长数来增减传输容量。这种在一根光纤里面同时传送多个不同波长光信号的技术就是波分复用技术。波分复用是光域的频分复用,由于其大容量的传输能力和平滑的扩容特性,在现代光通信网络中被大量采用。而波分设备可以是RE(Radio Equipment,射频设备)等等,这里不做限定。多个机房中的每个机房通过物理波分设备,构建星型网络拓扑结构,从而实现异地跨机房的网络共享,并且还能统一出口网关,确保网络流量的控制和网络数据的安全。上述多个机房构建的网络架构,还可以为总线型拓扑结构、环型拓扑结构、树型拓扑结构、网状拓扑结构和混合型拓扑结构等等。
上述实施例的跨机房集群网络采用波分技术,能打通多个机房之间高传输速率(如2*100GE)通道,交换机采用接入层和汇聚层结构,从而减少堆叠,能建立Hadoop集群低时延、大带宽网络基础设施。
在构建一个跨机房共享网络后,需要使得机房之间的存储空间共享以及计算空间共享。其中,机房存储共享的方法可以包括如下步骤:接收至少一个机房中的每个机房发送的心跳信息、数据存储信息,确定所述至少一个机房中的每个机房的数据存储情况;基于所述至少一个机房中的每个机房的数据存储情况,建立共享存储空间。
首先,可以在跨机房集群中配置多个命名空间,为不同机房分配命名空间,从而共享本机房的所有存储资源,在每个命名空间内部署存储元数据管理角色,从而管理本机房内的数据存储信息。具体的,多个元数据管理角色构成的元数据集群中的所有元数据节点均提供全局命名空间的元数据服务,元数据节点之间通过上述实施例建立的跨机房共享网络建立全局一致性缓存和/或共享锁构建实时应用集群,整个元数据集群的数据性能可以横向扩展,所有元数据节点均处于活跃状态,多个元数据节点中的任意一个节点宕机或断开连接均不会影响整个集群的元数据服务。
此外,每个机房中的元数据节点可以主动上报心跳信息。其中,所述心跳信息表示上报所述心跳信息的被监控对象在心跳周期内的运行状态,在本申请中被监控对象即为每个机房中布置的元数据节点。在每个机房中的元数据节点可以主动上报心跳信息的同时还可以上报数据存储信息。通过分析数据存储信息能够及时剔除异常存储节点,获取数据存储的真实位置。
例如,数据存储信息可以包括类型标识信息以及对应的保存位置信息,通过存储该数据对应的数据存储信息,能够对保存的数据执行读取、修改、删除等操作。若需要删除一个数据时,将需要删除的数据的标识信息发送至元数据服务器,元数据服务器根据自身存储的数据存储信息,确定该标识信息对应的网络地址信息和保存位置信息,通过确定的网络地址信息对应的存储空间删除确定的保存位置信息所指示保存位置中的该标识信息对应的数据。而当元数据服务器发现某个数据对应的出现异常时,根据存储的数据存储信息,可以剔除确定的保存位置信息所指示保存位置中的该标识信息对应的数据。
此外,在一个命名空间中可以部署多个存储元管理角色,从而实现各个存储元管理角色之间共享元数据的秒级同步,以保证数据一致性以及高可用性。各个命名空间之间共享存储的元数据,使跨机房集群实现物理隔离的同时,保证逻辑上统一。
作为一种可能的实施方式,在建立所述共享存储空间之后,所述方法还包括:将相同机房中的数据定义同样的名称空间,根据设定的数据分配策略,将所述共享存储空间中的数据分配给所述至少一个机房中的每个机房进行存储,所述设定的数据分配策略,包括:数据业务类型、数据位置信息以及数据领域。
具体的,多个存储元管理角色可以根据本地机房的实际资源情况做出合理的数据划分策略。例如,将共享存储空间中的数据按数据业务类型划分到不同命名空间下进行管理,从而可以减小不必要的存储元数据的冗余交互,以及跨机间的网络流量消耗。
上述实施例中的跨机房集群中的存储数据方式,采用联邦技术和ViewFS,将存储数据按照区域和业务对数据进行切分,使用多命名空间进行管理,有效降低跨机房计算流量,实现集群间的跨多个机房的多台设备数据物理异地隔离、逻辑统一、对用户透明,维护成本显著。
而机房计算资源的方法可以包括如下步骤:接收至少一个机房中的每个机房发送的心跳信息以及计算资源信息,确定所述至少一个机房中的每个机房的计算资源使用情况;基于所述至少一个机房中的每个机房的计算资源使用情况,建立共享计算资源队列。
首先可以在跨机房集群中的每个机房中部署计算资源管理角色,从而管理各个机房内的计算资源信息,并由各个机房的计算节点主动上报心跳信息以及计算资源信息。其中,所述心跳信息这里不做过多赘述,参见上述实施例的描述。所述计算资源信息用于表征机房内计算设备的算力,计算资源信息还可以是算力规格,算力规格可以是算力通用单位,比如每秒一万亿次的浮点运算(Floating-point operations per second,TFLOPS),或者采用每秒一万亿次的整型运算。计算资源信息还可以包括指定的硬件规格,比如某种硬件的型号。不同的硬件的型号对应着不同的算力规格。根据上报的计算资源信息,构建统一的计算资源池。此外,跨机房集群内部署有多个计算资源角色,分布在多个不同机房中,实现一主多备,防止单个机房节点故障,从而影响计算。具体的,并将计算资源池划分为多个最小单元资源块后,重新放入计算资源池,并实时向计算资源管理角色上报资源使用情况。例如,计算资源池中的最小单元资源块被已使用资源块和未使用资源块之比。可选的,还可以在计算资源池上划分多个资源队列,通过合理的编排,从而组合使用资源池内的多个最小单元资源块。示例性的,可以先接收计算资源使用请求,并将所述计算资源使用请求在资源队列中进行排队,调度器根据负载情况、请求类型、等等属性进行调度。上述实施例中,通过构建统一的计算资源池,整合零碎空闲资源,使得跨机房集群的最大算力相比现有架构的最大算力显著提升。
在跨机房网络共享、存储空间共享以及计算资源共享后,资源集群管理接收至少一个机房发送的至少一个目标任务。根据所述至少一个目标任务中的每个目标任务中包含的任务信息,确定与所述至少一个目标任务中的每个目标任务对应的目标机房;所述任务信息中包括任务输入数据所在机房标识、任务输出数据所在机房标识、以及任务类型。将所述至少一个目标任务中的每个目标任务分配给对应的所述目标机房,以使所述至少一个目标任务中的每个目标任务在对应的目标机房中执行。
其中,资源集群管理可以是基于YARN的资源集群管理架构,参阅图2所示,图2为一种YARN的资源集群管理架构的结构示意图。通过YARN的资源集群管理(统一调度),可以实现将多个独立YARN集群进行统一的管理和监控,从而为调度逻辑提供基础资源的信息,并且,还登记各个机房之间的带宽信息。并且,不开放底层YARN集群提交入口,将接收到的所有任务提交到统一的资源调度引擎。示例性的,资源调度引擎可以基于机器学习算法,与其他监控模块进行交互,从而优化任务分配方式。
作为一种可能的实施方式,根据所述至少一个目标任务中的每个目标任务中包含的任务信息,确定与所述至少一个目标任务中的每个目标任务对应的目标机房,包括如下方式:
根据所述目标任务中包含的任务信息,确定与所述目标任务对应的目标任务输入数据所在机房以及目标任务输出数据所在机房。
方式一:在所述目标任务输入数据所在机房满足任务执行条件时,将所述目标任务输入数据所在机房确定为所述目标机房,其中,所述任务执行条件包括如下至少一种:机房带宽大于设定带宽阈值、机房计算资源大于设定计算资源阈值以及机房存储空间大于设定存储空间阈值。
在此种场景下,因目标任务的输入数据所在的机房满足任务执行条件,为了降低不必要的数据交互,可以直接令所述目标任务输入数据所在机房执行所述目标任务,在所述目标任务输入数据所在机房执行后,将目标任务执行结果发送到目标任务输出数据所在的机房,实现最小化机房间数据流量。
方式二:在所述目标任务输出数据所在机房满足所述任务执行条件时,将所述目标任务输出数据所在机房确定为所述目标机房。
在此种场景下,因目标任务的输出数据所在的机房满足任务执行条件,为了降低不必要的数据交互,可以由所述目标任务输出数据所在机房接收所述目标任务输入数据,并由所述目标任务输出数据所在机房直接执行所述目标任务,实现最小化机房间数据流量。
方式三:在所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均满足所述任务执行条件时,比较所述目标任务输入数据所在机房的机房计算资源与所述目标任务输出数据所在机房的机房计算资源的大小,将机房计算资源更大的机房确定为所述目标机房。
在此种场景下,因所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均满足所述任务执行条件,为了提升资源的利用率,选择所述目标任务输入数据所在机房与所述目标任务输出数据所在机房中机房计算资源/带宽更高的一个执行所述目标任务。
方式四:在所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均不满足所述任务执行条件时,从所述至少一个机房中其他机房中,确定所述机房带宽最大的机房为所述目标机房。
在此种场景下,因所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均不满足所述任务执行条件,为了盘活多机房零碎空闲的计算/存储资源,从所述至少一个机房中其他机房中,确定所述机房带宽最大的机房为所述目标机房,从而提升资源利用率。
利用本申请提供的跨机房集群控制方法,在网络方面,跨机房集群可以通过波分互联实现跨机房网络共享,减少交换机的相互堆叠,进而降低网络抖动,从而构建异地多活的Hadoop集群,增强业务的健壮性,减少运维成本;在存储方面,跨机房集群的存储共享使用可以联邦模式,从而划分多个命名空间,实现物理隔离且逻辑统一,根据各个机房的实际资源情况以及业务的各种类型做合理的数据切分策略,从而能很好地控制跨机房的网络流量,提升处理性能;在计算方面,跨机房集群计算可以将一个较大的共享资源池划分为多个最小资源块,从而异地机房零碎空闲计算资源。在任务分配方面,跨机房集群的任务分配可以通过跨机房任务调度策略,进行跨机房内的资源分配和调度,提升大数据系统的鲁棒性以及系统运行能力,优化资源配置。
基于同一发明构思,参阅图3所示,本申请实施例还提供一种跨机房集群控制装置300,所述装置300包括:
任务接收模块301,用于:接收至少一个机房发送的至少一个目标任务;
机房确定模块302,用于:根据所述至少一个目标任务中的每个目标任务中包含的任务信息,确定与所述至少一个目标任务中的每个目标任务对应的目标机房;所述任务信息中包括任务输入数据所在机房标识、任务输出数据所在机房标识、以及任务类型;
任务分配模块303,用于:将所述至少一个目标任务中的每个目标任务分配给对应的所述目标机房,以使所述至少一个目标任务中的每个目标任务在对应的目标机房中执行。
作为一种可能的实施方式,所述装置300还包括:
网络共享模块304,用于:在所述至少一个机房中的每个机房中设置波分复用设备,由所述至少一个机房中的每个机房设置的波分复用设备构成网络拓扑结构,以使所述至少一个机房中的每个机房的网络通过波分复用设备共享。
作为一种可能的实施方式,所述装置还包括:
共享空间及计算资源模块305,用于:接收至少一个机房中的每个机房发送的心跳信息、数据存储信息以及计算资源信息,确定所述至少一个机房中的每个机房的数据存储情况以及计算资源使用情况;
基于所述至少一个机房中的每个机房的数据存储情况以及计算资源使用情况,建立共享存储空间以及共享计算资源队列。
作为一种可能的实施方式,所述装置300还包括:
存储空间处理模块306,用于:将相同机房中的数据定义同样的名称空间,根据设定的数据分配策略,将所述共享存储空间中的数据分配给所述至少一个机房中的每个机房进行存储,所述设定的数据分配策略,包括:数据业务类型、数据位置信息以及数据领域。
作为一种可能的实施方式,所述共享空间及计算资源模块305,具体用于:基于所述至少一个机房中的每个机房的计算资源使用情况,将所述至少一个机房中的每个机房的计算资源之和,按设定资源块大小重新划分为多块计算资源块;利用所述多块计算资源块建立至少一列计算资源队列。
作为一种可能的实施方式,所述任务分配模块303,具体用于:
根据所述目标任务中包含的任务信息,确定与所述目标任务对应的目标任务输入数据所在机房以及目标任务输出数据所在机房;在所述目标任务输入数据所在机房满足任务执行条件时,将所述目标任务输入数据所在机房确定为所述目标机房,其中,所述任务执行条件包括如下至少一种:机房带宽大于设定带宽阈值、机房计算资源大于设定计算资源阈值以及机房存储空间大于设定存储空间阈值;在所述目标任务输出数据所在机房满足所述任务执行条件时,将所述目标任务输出数据所在机房确定为所述目标机房;在所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均满足所述任务执行条件时,比较所述目标任务输入数据所在机房的机房计算资源与所述目标任务输出数据所在机房的机房计算资源的大小,将机房计算资源更大的机房确定为所述目标机房;在所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均不满足所述任务执行条件时,从所述至少一个机房中其他机房中,确定所述机房带宽最大的机房为所述目标机房。
基于同一发明构思,本申请实施例还提供一种跨机房集群控制系统,所述系统包括:至少一个机房以及上述实施例所述的跨机房集群控制装置300。
基于同一发明构思,本申请实施例还提供一种跨机房集群控制的电子设备,包括:存储器和处理器;其中,所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器中的程序,实现上述实施例所述的方法。
基于同一发明构思,本申请实施例还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所述的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (14)

1.一种跨机房集群控制方法,其特征在于,所述方法包括:
接收至少一个机房发送的至少一个目标任务;
根据所述至少一个目标任务中的每个目标任务中包含的任务信息,确定与所述至少一个目标任务中的每个目标任务对应的目标机房;所述任务信息中包括任务输入数据所在机房标识、任务输出数据所在机房标识、以及任务类型;
将所述至少一个目标任务中的每个目标任务分配给对应的所述目标机房,以使所述至少一个目标任务中的每个目标任务在对应的目标机房中执行。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述至少一个机房中的每个机房中设置波分复用设备,由所述至少一个机房中的每个机房设置的波分复用设备构成网络拓扑结构,以使所述至少一个机房中的每个机房的网络通过波分复用设备共享。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收至少一个机房中的每个机房发送的心跳信息、数据存储信息以及计算资源信息,确定所述至少一个机房中的每个机房的数据存储情况以及计算资源使用情况;
基于所述至少一个机房中的每个机房的数据存储情况以及计算资源使用情况,建立共享存储空间以及共享计算资源队列。
4.根据权利要求3所述的方法,其特征在于,在建立所述共享存储空间之后,所述方法还包括:
将相同机房中的数据定义同样的名称空间,根据设定的数据分配策略,将所述共享存储空间中的数据分配给所述至少一个机房中的每个机房进行存储,所述设定的数据分配策略,包括:数据业务类型、数据位置信息以及数据领域。
5.根据权利要求3所述的方法,其特征在于,建立所述共享计算资源队列,包括:
基于所述至少一个机房中的每个机房的计算资源使用情况,将所述至少一个机房中的每个机房的计算资源之和,按设定资源块大小重新划分为多块计算资源块;
利用所述多块计算资源块建立至少一列计算资源队列。
6.根据权利要求1所述的方法,其特征在于,根据所述至少一个目标任务中的每个目标任务中包含的任务信息,确定与所述至少一个目标任务中的每个目标任务对应的目标机房,包括:
根据所述目标任务中包含的任务信息,确定与所述目标任务对应的目标任务输入数据所在机房以及目标任务输出数据所在机房;
在所述目标任务输入数据所在机房满足任务执行条件时,将所述目标任务输入数据所在机房确定为所述目标机房,其中,所述任务执行条件包括如下至少一种:机房带宽大于设定带宽阈值、机房计算资源大于设定计算资源阈值以及机房存储空间大于设定存储空间阈值;
在所述目标任务输出数据所在机房满足所述任务执行条件时,将所述目标任务输出数据所在机房确定为所述目标机房;
在所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均满足所述任务执行条件时,比较所述目标任务输入数据所在机房的机房计算资源与所述目标任务输出数据所在机房的机房计算资源的大小,将机房计算资源更大的机房确定为所述目标机房;
在所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均不满足所述任务执行条件时,从所述至少一个机房中其他机房中,确定所述机房带宽最大的机房为所述目标机房。
7.一种跨机房集群控制装置,其特征在于,所述装置包括:
任务接收模块,用于:接收至少一个机房发送的至少一个目标任务;
机房确定模块,用于:根据所述至少一个目标任务中的每个目标任务中包含的任务信息,确定与所述至少一个目标任务中的每个目标任务对应的目标机房;所述任务信息中包括任务输入数据所在机房标识、任务输出数据所在机房标识、以及任务类型;
任务分配模块,用于:将所述至少一个目标任务中的每个目标任务分配给对应的所述目标机房,以使所述至少一个目标任务中的每个目标任务在对应的目标机房中执行。
8.根据权利要求7所述的跨机房集群控制装置,其特征在于,所述装置还包括:
网络共享模块,用于:在所述至少一个机房中的每个机房中设置波分复用设备,由所述至少一个机房中的每个机房设置的波分复用设备构成网络拓扑结构,以使所述至少一个机房中的每个机房的网络通过波分复用设备共享。
9.根据权利要求7所述的跨机房集群控制装置,其特征在于,所述装置还包括:
共享空间及计算资源模块,用于:接收至少一个机房中的每个机房发送的心跳信息、数据存储信息以及计算资源信息,确定所述至少一个机房中的每个机房的数据存储情况以及计算资源使用情况;
基于所述至少一个机房中的每个机房的数据存储情况以及计算资源使用情况,建立共享存储空间以及共享计算资源队列。
10.根据权利要求9所述的跨机房集群控制装置,其特征在于,所述装置还包括:
存储空间处理模块,用于:将相同机房中的数据定义同样的名称空间,根据设定的数据分配策略,将所述共享存储空间中的数据分配给所述至少一个机房中的每个机房进行存储,所述设定的数据分配策略,包括:数据业务类型、数据位置信息以及数据领域。
11.根据权利要求9所述的跨机房集群控制装置,其特征在于,所述共享空间及计算资源模块,具体用于:基于所述至少一个机房中的每个机房的计算资源使用情况,将所述至少一个机房中的每个机房的计算资源之和,按设定资源块大小重新划分为多块计算资源块;
利用所述多块计算资源块建立至少一列计算资源队列。
12.根据权利要求9所述的跨机房集群控制装置,其特征在于,所述任务分配模块,具体用于:
根据所述目标任务中包含的任务信息,确定与所述目标任务对应的目标任务输入数据所在机房以及目标任务输出数据所在机房;
在所述目标任务输入数据所在机房满足任务执行条件时,将所述目标任务输入数据所在机房确定为所述目标机房,其中,所述任务执行条件包括如下至少一种:机房带宽大于设定带宽阈值、机房计算资源大于设定计算资源阈值以及机房存储空间大于设定存储空间阈值;
在所述目标任务输出数据所在机房满足所述任务执行条件时,将所述目标任务输出数据所在机房确定为所述目标机房;
在所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均满足所述任务执行条件时,比较所述目标任务输入数据所在机房的机房计算资源与所述目标任务输出数据所在机房的机房计算资源的大小,将机房计算资源更大的机房确定为所述目标机房;
在所述目标任务输入数据所在机房以及所述目标任务输出数据所在机房均不满足所述任务执行条件时,从所述至少一个机房中其他机房中,确定所述机房带宽最大的机房为所述目标机房。
13.一种跨机房集群控制系统,其特征在于,所述系统包括:至少一个机房以及如权利要求7-12任一所述的跨机房集群控制装置;
所述至少一个机房中的每个机房,用于:接收目标任务,将所述目标任务发送给所述跨机房集群控制装置;
所述跨机房集群控制装置中包括:
任务接收模块,用于:接收至少一个机房发送的至少一个目标任务;
机房确定模块,用于:根据所述至少一个目标任务中的每个目标任务中包含的任务信息,确定与所述至少一个目标任务中的每个目标任务对应的目标机房;所述任务信息中包括任务输入数据所在机房标识、任务输出数据所在机房标识、以及任务类型;
任务分配模块,用于:将所述至少一个目标任务中的每个目标任务分配给对应的所述目标机房,以使所述至少一个目标任务中的每个目标任务在对应的目标机房中执行。
14.一种计算机存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1~6任一所述的方法。
CN202111633163.XA 2021-12-29 2021-12-29 一种跨机房集群控制方法及装置 Pending CN114390050A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111633163.XA CN114390050A (zh) 2021-12-29 2021-12-29 一种跨机房集群控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111633163.XA CN114390050A (zh) 2021-12-29 2021-12-29 一种跨机房集群控制方法及装置

Publications (1)

Publication Number Publication Date
CN114390050A true CN114390050A (zh) 2022-04-22

Family

ID=81200220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111633163.XA Pending CN114390050A (zh) 2021-12-29 2021-12-29 一种跨机房集群控制方法及装置

Country Status (1)

Country Link
CN (1) CN114390050A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106814977A (zh) * 2017-01-19 2017-06-09 郑州云海信息技术有限公司 基于多存储厂商的多路径软件的管理方法及系统
CN110990154A (zh) * 2019-11-28 2020-04-10 曙光信息产业股份有限公司 一种大数据应用优化方法、装置及存储介质
CN111459641A (zh) * 2020-04-08 2020-07-28 广州欢聊网络科技有限公司 一种跨机房的任务调度和任务处理的方法及装置
WO2021223109A1 (zh) * 2020-05-06 2021-11-11 深圳市欢太科技有限公司 数据同步方法、装置、系统、电子设备及存储介质
CN113806066A (zh) * 2021-04-06 2021-12-17 京东科技控股股份有限公司 大数据资源调度方法、系统和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106814977A (zh) * 2017-01-19 2017-06-09 郑州云海信息技术有限公司 基于多存储厂商的多路径软件的管理方法及系统
CN110990154A (zh) * 2019-11-28 2020-04-10 曙光信息产业股份有限公司 一种大数据应用优化方法、装置及存储介质
CN111459641A (zh) * 2020-04-08 2020-07-28 广州欢聊网络科技有限公司 一种跨机房的任务调度和任务处理的方法及装置
WO2021223109A1 (zh) * 2020-05-06 2021-11-11 深圳市欢太科技有限公司 数据同步方法、装置、系统、电子设备及存储介质
CN113806066A (zh) * 2021-04-06 2021-12-17 京东科技控股股份有限公司 大数据资源调度方法、系统和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MACYANG: "云梯的多NameNode和跨机房之路_阿里hadoop多机房 crossnode", pages 2 - 4, Retrieved from the Internet <URL:https://blog.csdn.net/macyang/article/details/19084379> *

Similar Documents

Publication Publication Date Title
Hu et al. Multi-controller based software-defined networking: A survey
CN107066319B (zh) 一种面向异构资源的多维调度系统
CN109240821B (zh) 一种基于边缘计算的分布式跨域协同计算与服务系统及方法
US20240179103A1 (en) Network slice configuration
US9954758B2 (en) Virtual network function resource allocation and management system
US9703610B2 (en) Extensible centralized dynamic resource distribution in a clustered data grid
CN103812949B (zh) 一种面向实时云平台的任务调度与资源分配方法及系统
CN105426245A (zh) 包括分散的部件的动态地组成的计算节点
CN109677465B (zh) 用于轨道交通综合监控系统的分布式实时系统架构
WO2021190360A1 (zh) 汽车诊断云平台中的虚拟化资源调度系统、方法
CN110221920B (zh) 部署方法、装置、存储介质及系统
CN112367354B (zh) 一种云边资源图智能调度系统及其调度方法
CN113645146B (zh) 基于新流密度的软件定义网络控制器负载均衡方法及系统
CN116055426B (zh) 用于多绑定模式下流量卸载转发的方法、设备及介质
CN113490279A (zh) 一种网络切片配置方法及装置
CN110958297B (zh) 一种数据迁移方法及系统
CN111158949A (zh) 容灾架构的配置方法、切换方法及装置、设备和存储介质
CN114390050A (zh) 一种跨机房集群控制方法及装置
WO2023124743A1 (zh) 区块同步
CN115562841A (zh) 一种云视频服务自适应资源调度系统和方法
WO2018196651A1 (zh) 资源管理的方法和设备
CN107070711A (zh) 运维管理系统及运维命令的处理方法
Qu et al. Survivable SFC deployment method based on federated learning in multi-domain network
Dias et al. Reducing Hadoop 3. x energy consumption through Energy Efficient Ethernet
Xia et al. Research on Deployment Method of Service function Chain based on Network Function Virtualization in Distribution communication Network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination