基于hadoop双集群的应急保障方法及系统
技术领域
1.本发明涉及通信数据处理技术领域,尤其涉及一种基于hadoop双集群的应急保障方法以及一种基于hadoop双集群的应急保障系统。
背景技术:2.hadoop是大数据通用处理平台,提供了分布式文件存储以及分布式离线并行计算,由于hadoop的高拓展性,在使用hadoop时通常以集群的方式运行,集群中的节点可达上千个,能够处理pb级的数据。
3.hadoop集群hdfs的ha功能通过配置active/standby两个namenode实现在集群中对namenode的热备来解决namenode机器出现故障(比如宕机或是软件、硬件升级)。
4.hadoop集群ha功能虽然可解决机器崩溃或机器需要升级维护,namenode通过热备方式将namenode很快的切换到另外一台机器,但是在实际业务运行过程中会遇到其它未知的因素,如:集群不稳定、非ha突发故障、hive任务运行慢等,影响业务及时性考核。
技术实现要素:5.针对上述问题,本发明提供了一种基于hadoop双集群的应急保障方法及系统,通过将任务分为任务态和执行态,灵活控制调度任务的运行,通过生产集群与备用集群之间的应急切换与还原,保障生产集群在发生故障时任务能够在备用集群上运行,通过底层数据的任务双加载方式,保障任务状态和任务数据的一致性,过程简单便捷、易于维护,稳定性高。
6.为实现上述目的,本发明提供了一种基于hadoop双集群的应急保障方法,包括:
7.针对hadoop生产集群配置hadoop备用集群;
8.预配置每个任务的任务态和执行态,使得任务执行过程中按照当前任务的任务态和执行态进行调度;
9.在所述生产集群发生故障时,获取当前任务断点状态并执行任务干预;
10.停止所述生产集群的运行以及向所述备用集群的数据同步过程,所述备用集群根据所述任务的断点状态继续执行当前任务;
11.在针对修复完成的生产集群进行应急恢复时,将所述备用集群中的数据回备至所述生产集群;
12.停止所述备用集群的运行,所述生产集群根据回备数据继续执行任务,同时开启所述生产集群向所述备用集群的数据同步过程。
13.在上述技术方案中,优选地,所述任务态包括任务信息、任务参数、任务依赖和任务组件的基础配置信息,根据所述基础配置信息确定当前任务在一个集群或多个集群的一致性;
14.所述执行态用于指定每个任务的执行集群所在,每个任务的执行态包括一个或多个集群,使得一个任务能够配置至多个集群进行执行。
15.在上述技术方案中,优选地,针对任务执行的任务干预具体包括:
16.针对已运行且状态正常的任务不进行干预;
17.针对已运行但状态异常的任务,修改状态为前一次正常;
18.针对未运行任务不进行干预。
19.在上述技术方案中,优选地,在所述生产集群发生故障时,分别检查所述生产集群和所述备用集群所执行任务的断点状态及数据是否正常;
20.所述备用集群在根据断点状态将任务执行完成后,得到所述生产集群故障导致非正常数据对应的正常数据。
21.在上述技术方案中,优选地,所述生产集群修复完成后,将所述备用集群运行过程中的任务数据回备至所述生产集群,同时生成执行日志;
22.任务恢复至所述生产集群运行时,同时再次开启所述生产集群向所述备用集群的数据同步过程。
23.本发明还提出一种基于hadoop双集群的应急保障系统,应用如上述技术方案中任一项公开的基于hadoop双集群的应急保障方法,包括:
24.集群配置模块,用于针对hadoop生产集群配置hadoop备用集群;
25.任务态配置模块,用于预配置每个任务的任务态和执行态,使得任务执行过程中按照当前任务的任务态和执行态进行调度;
26.故障检查模块,用于在所述生产集群发生故障时,获取当前任务断点状态并执行任务干预;
27.故障切换模块,用于停止所述生产集群的运行以及向所述备用集群的数据同步过程,并由所述备用集群根据所述任务的断点状态继续执行当前任务;
28.故障恢复模块,用于在针对修复完成的生产集群进行应急恢复时,将所述备用集群中的数据回备至所述生产集群;
29.故障还原模块,用于停止所述备用集群的运行,所述生产集群根据回备数据继续执行任务,同时开启所述生产集群向所述备用集群的数据同步过程。
30.在上述技术方案中,优选地,所述任务态包括任务信息、任务参数、任务依赖和任务组件的基础配置信息,根据所述基础配置信息确定当前任务在一个集群或多个集群的一致性;
31.所述执行态用于指定每个任务的执行集群所在,每个任务的执行态包括一个或多个集群,使得一个任务能够配置至多个集群进行执行。
32.在上述技术方案中,优选地,所述故障检查模块针对任务执行的任务干预具体包括:
33.针对已运行且状态正常的任务不进行干预;
34.针对已运行但状态异常的任务,修改状态为前一次正常;
35.针对未运行任务不进行干预。
36.在上述技术方案中,优选地,所述故障检查模块在所述生产集群发生故障时,分别检查所述生产集群和所述备用集群所执行任务的断点状态及数据是否正常;
37.所述故障切换模块在由所述备用集群根据断点状态将任务执行完成后,得到所述生产集群故障导致非正常数据对应的正常数据。
38.在上述技术方案中,优选地,所述故障还原模块在所述生产集群修复完成后,将所述备用集群运行过程中的任务数据回备至所述生产集群,同时生成执行日志;
39.在任务恢复至所述生产集群运行时,同时再次开启所述生产集群向所述备用集群的数据同步过程。
40.与现有技术相比,本发明的有益效果为:通过将任务分为任务态和执行态,灵活控制调度任务的运行,通过生产集群与备用集群之间的应急切换与还原,保障生产集群在发生故障时任务能够在备用集群上运行,通过底层数据的任务双加载方式,保障任务状态和任务数据的一致性,过程简单便捷、易于维护,稳定性高。
附图说明
41.图1为本发明一种实施例公开的基于hadoop双集群的应急保障方法的流程示意图;
42.图2为本发明一种实施例公开的基于hadoop双集群的应急保障机制示意图;
43.图3为本发明一种实施例公开的基于hadoop双集群的正常执行流程示意图;
44.图4为本发明一种实施例公开的基于hadoop双集群的应急恢复流程示意图;
45.图5为本发明一种实施例公开的基于hadoop双集群的应急保障系统的模块示意图。
46.图中,各组件与附图标记之间的对应关系为:
47.11.集群配置模块,12.任务态配置模块,13.故障检查模块,14.故障切换模块,15.故障恢复模块,16.故障还原模块。
具体实施方式
48.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.下面结合附图对本发明做进一步的详细描述:
50.如图1所示,根据本发明提供的一种基于hadoop双集群的应急保障方法,包括:
51.针对hadoop生产集群配置hadoop备用集群;
52.预配置每个任务的任务态和执行态,使得任务执行过程中按照当前任务的任务态和执行态进行调度;
53.在生产集群发生故障时,获取当前任务断点状态并执行任务干预;
54.停止生产集群的运行以及向备用集群的数据同步过程,备用集群根据任务的断点状态继续执行当前任务;
55.在针对修复完成的生产集群进行应急恢复时,将备用集群中的数据回备至生产集群;
56.停止备用集群的运行,生产集群根据回备数据继续执行任务,同时开启生产集群向备用集群的数据同步过程。
57.在该实施例中,通过将任务分为任务态和执行态,灵活控制调度任务的运行,通过
生产集群与备用集群之间的应急切换与还原,保障生产集群在发生故障时任务能够在备用集群上运行,通过底层数据的任务双加载方式,保障任务状态和任务数据的一致性,过程简单便捷、易于维护,稳定性高。
58.其中,优选地,将任务的状态分为任务态、执行态,不仅方便任务的编辑,同时便于调度灵活控制任务的运行。
59.任务态包括任务信息、任务参数、任务依赖和任务组件的基础配置信息,根据基础配置信息确定当前任务在一个集群或多个集群的一致性,避免同一个任务在多个集群重复创建同时一致性难保障;
60.执行态用于指定每个任务的执行集群所在,每个任务的执行态包括一个或多个集群,使得一个任务能够配置至多个集群进行执行,实现一次配置,执行多次,任务配置一致性得到保障。
61.如图2至图4所示,具体地,调度在执行任务时,将任务的执行组件对应的程序提交到对应集群,如a任务为加载任务时,默认执行集群为a集群、b集群,调度执行a任务时,将a任务的程序分别提交到a集群(生产集群)、b集群(备用集群),a任务会生成a、b集群两条执行实例;a任务为存储层、中间层、应用层任务时,执行集群为标识为生产集群的a集群。
62.生产集群发生故障后,整个应急保障流程包括应急切换、修复和应急恢复三个步骤。
63.应急切换包括:
64.事前:检查断点任务状态,执行任务干预;
65.事中:执行一键切换指令,包括1)主库停止生产、2)主库停止数据同步、3)备用库切换为生产库;
66.事后:检查任务运行状态。
67.在管理员对故障的生产库修复完成后,进行应急恢复。
68.应急恢复包括:
69.事前:数据回备,检查数据一致性;
70.事中:执行一键还原指令,包括1)备用库停止生产、2)主库切换为生产库、3)主库启动数据同步;
71.事后:检查任务运行状态。
72.通过分别的事前、事中和事后流水线操作,保障整个应急保障的顺利完成。
73.在上述实施例中,优选地,在应急切换事前,针对任务执行任务干预,具体包括:
74.针对已运行且状态正常的任务不进行干预;
75.针对已运行但状态异常的任务,修改状态为前一次正常;
76.针对未运行任务不进行干预。
77.在上述实施例中,优选地,在生产集群发生故障时,分别检查生产集群和备用集群所执行任务的断点状态及数据是否正常;
78.备用集群在根据断点状态将任务执行完成后,得到生产集群故障导致非正常数据对应的正常数据。
79.在上述实施例中,优选地,生产集群修复完成后,将备用集群运行过程中的任务数据回备至生产集群,同时生成执行日志;
80.任务恢复至生产集群运行时,同时再次开启生产集群向备用集群的数据同步过程。
81.根据上述实施例公开的基于hadoop双集群的应急保障方法,以下通过具体示例对整个应急保障过程进行具体说明。
82.1、配置双集群a集群、b集群的属性:
83.组编号集群名称集群属性001a集群主库001b集群备用库
84.2、新建加载任务a任务
[0085][0086][0087]
3、新建存储任务b任务
[0088][0089]
4、双集群都正常
[0090]
load_a任务分别在a集群、b集群执行;
[0091]
tran_b任务只在a集群运行,依赖检查:
[0092]
a集群load_a执行实例完成后,tran_b任务才可以在a集群运行;
[0093]
b集群的tran_b任务是由a集群数据同步给b集群。
[0094]
5、a集群(主)发生故障
[0095]
5.1、应急切换事前检查:检查load_a、tran_b任务状态,load_a任务(数据日期:20201010)正常完成,tran_b任务失败(数据日期:20201010),将tran_b任务置成前一数据日期成功(20201009);a集群向b集群同步任务tran_b未执行。
[0096]
5.2、事中:执行一键切换指令,包括:
[0097]
1)主库a集群停止生产(如下表):
[0098]
组编号集群名称集群属性
001a集群备用库001b集群备用库
[0099]
2)主库a集群停数据同步:
[0100]
同步服务停止a集群向b集群tran_b任务数据同步;
[0101]
3)备库b集群变为生产库:
[0102]
组编号集群名称集群属性001a集群备用库001b集群主库
[0103]
5.3、事后:检查任务运行状态
[0104]
b集群load_a,tran_b任务执行正常,数据日期都为20201010;
[0105]
6、修复:经过1天时间,管理员进行修复,修复完成;
[0106]
7、应急恢复:
[0107]
7.1、事前:数据回备,检查数据一致性
[0108][0109]
a集群load_a任务由于是加载任务,不需要进行数据回备;tran_b需要依次进行两天的数据回备20201009和20201010,同步服务完成一天的同步,会生成tran_b的执行实例日志。
[0110]
7.2、事中:执行一键还原指令,包括
[0111]
1)备库b集群停生产
[0112]
组编号集群名称集群属性001a集群备用库001b集群备用库
[0113]
2)主库a集群变为生产库
[0114]
组编号集群名称集群属性001a集群主库001b集群备用库
[0115]
3)主库启动数据同步
[0116]
同步服务开启a集群向b集群tran_b任务数据同步
[0117]
8、事后:检查任务运行状态
[0118][0119]
如图5所示,本发明还提出一种基于hadoop双集群的应急保障系统,应用如上述实施例中任一项公开的基于hadoop双集群的应急保障方法,包括:
[0120]
集群配置模块11,用于针对hadoop生产集群配置hadoop备用集群;
[0121]
任务态配置模块12,用于预配置每个任务的任务态和执行态,使得任务执行过程中按照当前任务的任务态和执行态进行调度;
[0122]
故障检查模块13,用于在生产集群发生故障时,获取当前任务断点状态并执行任务干预;
[0123]
故障切换模块14,用于停止生产集群的运行以及向备用集群的数据同步过程,并由备用集群根据任务的断点状态继续执行当前任务;
[0124]
故障恢复模块15,用于在针对修复完成的生产集群进行应急恢复时,将备用集群中的数据回备至生产集群;
[0125]
故障还原模块16,用于停止备用集群的运行,生产集群根据回备数据继续执行任务,同时开启生产集群向备用集群的数据同步过程。
[0126]
在上述实施例中,优选地,任务态包括任务信息、任务参数、任务依赖和任务组件的基础配置信息,根据基础配置信息确定当前任务在一个集群或多个集群的一致性;
[0127]
执行态用于指定每个任务的执行集群所在,每个任务的执行态包括一个或多个集群,使得一个任务能够配置至多个集群进行执行。
[0128]
在上述实施例中,优选地,故障检查模块13针对任务执行的任务干预具体包括:
[0129]
针对已运行且状态正常的任务不进行干预;
[0130]
针对已运行但状态异常的任务,修改状态为前一次正常;
[0131]
针对未运行任务不进行干预。
[0132]
在上述实施例中,优选地,故障检查模块13在生产集群发生故障时,分别检查生产集群和备用集群所执行任务的断点状态及数据是否正常;
[0133]
故障切换模块14在由备用集群根据断点状态将任务执行完成后,得到生产集群故障导致非正常数据对应的正常数据。
[0134]
在上述实施例中,优选地,故障还原模块16在生产集群修复完成后,将备用集群运行过程中的任务数据回备至生产集群,同时生成执行日志;
[0135]
在任务恢复至生产集群运行时,同时再次开启生产集群向备用集群的数据同步过程。
[0136]
上述实施例中公开的基于hadoop双集群的应急保障系统,各模块中功能的实现按照上述实施例中公开的基于hadoop双集群的应急保障方法中各步骤进行实施,具体参见上
述实施例,在此不再赘述。
[0137]
根据上述实施例公开的基于hadoop双集群的应急保障方法及系统,在保障任务的及时、稳定运行方面,具有以下优点:
[0138]
1、解决了单一hadoop集群各种不稳定因素对业务侧造成的影响;
[0139]
2、将任务的分为任务态和执行态,功能独立,方便调度进行管控;
[0140]
3、业务侧的任务态配置信息只存储一份,目的是为了保障了任务的唯一性,避免编辑修改造成不一致;
[0141]
4、双hadoop集群有主、备集群之分,底层数据接入采用任务双加载,存储层、中间层任务、应用层任务采用主集群同步备集群方式来保障数据的一致性;
[0142]
5、采用应急切换和应急恢复流程,操作简单便捷,易于维护。
[0143]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:1.一种基于hadoop双集群的应急保障方法,其特征在于,包括:针对hadoop生产集群配置hadoop备用集群;预配置每个任务的任务态和执行态,使得任务执行过程中按照当前任务的任务态和执行态进行调度;在所述生产集群发生故障时,获取当前任务断点状态并执行任务干预;停止所述生产集群的运行以及向所述备用集群的数据同步过程,所述备用集群根据所述任务的断点状态继续执行当前任务;在针对修复完成的生产集群进行应急恢复时,将所述备用集群中的数据回备至所述生产集群;停止所述备用集群的运行,所述生产集群根据回备数据继续执行任务,同时开启所述生产集群向所述备用集群的数据同步过程。2.根据权利要求1所述的基于hadoop双集群的应急保障方法,其特征在于,所述任务态包括任务信息、任务参数、任务依赖和任务组件的基础配置信息,根据所述基础配置信息确定当前任务在一个集群或多个集群的一致性;所述执行态用于指定每个任务的执行集群所在,每个任务的执行态包括一个或多个集群,使得一个任务能够配置至多个集群进行执行。3.根据权利要求1所述的基于hadoop双集群的应急保障方法,其特征在于,针对任务执行的任务干预具体包括:针对已运行且状态正常的任务不进行干预;针对已运行但状态异常的任务,修改状态为前一次正常;针对未运行任务不进行干预。4.根据权利要求1所述的基于hadoop双集群的应急保障方法,其特征在于,在所述生产集群发生故障时,分别检查所述生产集群和所述备用集群所执行任务的断点状态及数据是否正常;所述备用集群在根据断点状态将任务执行完成后,得到所述生产集群故障导致非正常数据对应的正常数据。5.根据权利要求4所述的基于hadoop双集群的应急保障方法,其特征在于,所述生产集群修复完成后,将所述备用集群运行过程中的任务数据回备至所述生产集群,同时生成执行日志;任务恢复至所述生产集群运行时,同时再次开启所述生产集群向所述备用集群的数据同步过程。6.一种基于hadoop双集群的应急保障系统,应用如权利要求1至5中任一项所述的基于hadoop双集群的应急保障方法,其特征在于,包括:集群配置模块,用于针对hadoop生产集群配置hadoop备用集群;任务态配置模块,用于预配置每个任务的任务态和执行态,使得任务执行过程中按照当前任务的任务态和执行态进行调度;故障检查模块,用于在所述生产集群发生故障时,获取当前任务断点状态并执行任务干预;故障切换模块,用于停止所述生产集群的运行以及向所述备用集群的数据同步过程,
并由所述备用集群根据所述任务的断点状态继续执行当前任务;故障恢复模块,用于在针对修复完成的生产集群进行应急恢复时,将所述备用集群中的数据回备至所述生产集群;故障还原模块,用于停止所述备用集群的运行,所述生产集群根据回备数据继续执行任务,同时开启所述生产集群向所述备用集群的数据同步过程。7.根据权利要求6所述的基于hadoop双集群的应急保障系统,其特征在于,所述任务态包括任务信息、任务参数、任务依赖和任务组件的基础配置信息,根据所述基础配置信息确定当前任务在一个集群或多个集群的一致性;所述执行态用于指定每个任务的执行集群所在,每个任务的执行态包括一个或多个集群,使得一个任务能够配置至多个集群进行执行。8.根据权利要求6所述的基于hadoop双集群的应急保障系统,其特征在于,所述故障检查模块针对任务执行的任务干预具体包括:针对已运行且状态正常的任务不进行干预;针对已运行但状态异常的任务,修改状态为前一次正常;针对未运行任务不进行干预。9.根据权利要求6所述的基于hadoop双集群的应急保障系统,其特征在于,所述故障检查模块在所述生产集群发生故障时,分别检查所述生产集群和所述备用集群所执行任务的断点状态及数据是否正常;所述故障切换模块在由所述备用集群根据断点状态将任务执行完成后,得到所述生产集群故障导致非正常数据对应的正常数据。10.根据权利要求9所述的基于hadoop双集群的应急保障系统,其特征在于,所述故障还原模块在所述生产集群修复完成后,将所述备用集群运行过程中的任务数据回备至所述生产集群,同时生成执行日志;在任务恢复至所述生产集群运行时,同时再次开启所述生产集群向所述备用集群的数据同步过程。
技术总结本发明公开了一种基于Hadoop双集群的应急保障方法及系统,方法包括:针对Hadoop生产集群配置Hadoop备用集群;预配置每个任务的任务态和执行态,并按照任务的任务态和执行态进行调度;生产集群发生故障时,获取当前任务断点状态并执行任务干预;停止生产集群的运行以及数据同步,备用集群继续执行当前任务;在针对修复完成的生产集群进行应急恢复时,将备用集群中的数据回备至生产集群;停止备用集群的运行,生产集群继续执行任务,同时开启数据同步过程。通过本发明的技术方案,能够灵活控制调度任务的运行,保障生产集群在发生故障时任务能够在备用集群上运行,保障任务状态和任务数据的一致性,过程简单便捷、易于维护,稳定性高。高。高。
技术研发人员:胡俊锋
受保护的技术使用者:北京思特奇信息技术股份有限公司
技术研发日:2022.03.28
技术公布日:2022/7/5