CN107402968A - 运行控制方法及装置 - Google Patents
运行控制方法及装置 Download PDFInfo
- Publication number
- CN107402968A CN107402968A CN201710494532.9A CN201710494532A CN107402968A CN 107402968 A CN107402968 A CN 107402968A CN 201710494532 A CN201710494532 A CN 201710494532A CN 107402968 A CN107402968 A CN 107402968A
- Authority
- CN
- China
- Prior art keywords
- node
- query
- query statement
- state
- execution
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明实施例提供一种运行控制方法及装置,涉及数据查询技术领域。其中,在本发明实施例中,获取各个查询节点中查询语句的执行状态;判断所述各个查询节点中的查询语句的执行状态是否异常;如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句;重启取消执行失败的查询节点。本发明实施例提供的技术方案有效保证了查询节点的正常运行。
Description
技术领域
本发明实施例涉及数据查询技术领域,尤其涉及一种运行控制方法及装置。
背景技术
目前诸多的数据查询引擎,通常是一种大规模并行处理系统,由多个查询节点构成,
以Impala为例,Impala的查询速度极快,但是运行过程中会出现查询节点飘红或飘黄的状态,也即查询节点运行异常,导致查询节点无法正常进行工作,影响查询效率。
现有技术中,为了保证impala稳定性运行,通常会定时检查查询节点的状态,如果查询节点出现飘红或飘黄的状态,即重启节点,但是现有的这种方式,并不能有效的保证查询节点正常运行。
发明内容
本发明实施例提供一种运行控制方法及装置,用以解决现有技术中查询节点无法有效正常运行的问题。
第一方面,本发明实施例中提供了一种运行控制方法,包括:
获取各个查询节点中查询语句的执行状态;
判断所述各个查询节点中的查询语句的执行状态是否异常;
如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句;
重启取消执行失败的查询节点。
可选地,所述执行状态获取步骤包括:
每间隔第一预设时间,获取各个查询节点中查询语句的执行状态;
所述重启步骤包括:
记录取消执行失败的查询节点为亚健康节点;
如果任意亚健康节点连续被记录第一次数,确定所述任意亚健康节点为待重启节点;
重启所述待重启节点。
可选地,还包括:
记录执行状态获取失败的查询节点为亚健康节点。
可选地,所述重启所述待重启节点包括:
每间隔第二预设时间,检查所述待重启节点是否在前N个连续重启周期中已经重启;所述第二预设时间大于所述第一预设时间;其中,N为正整数;
如果是,不重启所述待重启节点;
如果否,重启所述待重启节点。
可选地,所述判断所述查询语句的运行状态是否异常包括:
判断所述查询语句处于完成状态是否超过第一时长,或者所述查询语句处于运行状态是否超过第二时长。
第二方面,本发明实施例中提供了一种运行控制装置,其特征在于,包括:
状态获取模块,用于获取各个查询节点中查询语句的执行状态;
异常判断模块,用于判断所述各个查询节点中的查询语句的执行状态是否异常;
取消执行模块,用于如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句;
重启执行模块,用于重启取消执行失败的查询节点。
可选地,所述状态获取模块具体用于:
每间隔第一预设时间,获取各个查询节点中查询语句的执行状态;
所述重启执行模块包括:
第一记录单元,用于记录取消执行失败的查询节点为亚健康节点;
第二记录单元,用于如果任意亚健康节点连续被记录第一次数,确定所述任意亚健康节点为待重启节点;
节点重启单元,用于重启所述待重启节点。
可选地,所述第一记录单元还用于:
记录执行状态获取失败的查询节点为亚健康节点。
可选地,所述节点重启单元具体用于:
每间隔第二预设时间,检查所述待重启节点是否在前N个连续重启周期中已经重启;如果是,不重启所述待重启节点;如果否,重启所述待重启节点;其中,所述第二预设时间大于所述第一预设时间;其中,N为正整数。
可选地,所述异常判断模块具体用于:
判断所述查询语句处于完成状态超过第一时长,或者所述查询语句处于运行状态超过第二时长。
本发明实施例中,将执行状态异常的查询语句取消可以避免查询节点出现异常情况,而若取消失败,表明查询节点可能已经出现运行故障,此时即可以重启查询节点以恢复至正常状态,通过本发明实施例在查询节点出现飘红或飘黄之前,即将查询节点进行修复处理,提高了检测敏锐度和检测效率,有效保证了查询节点的正常运行。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例的一种运行控制方法一个实施例的流程图;
图2示出了本发明实施例的一种运行控制方法又一个实施例的流程图;
图3示出了本发明实施例的一种运行控制方法又一个实施例的流程图;
图4示出了本发明实施例的一种运行控制装置一个实施例的结构示意图;
图5示出了本发明实施例的一种运行控制装置又一个实施例的结构示意图;
图6示出了本发明实施例的一种电子设备一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本发明实施例的技术方案主要适用于采用大规模并行处理系统实现的数据查询引擎中,例如Impala,Impala是新一代的数据查询引擎,它提供SQL语义,能够查询存储在Hadoop中的HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)和Hbase(Hadoop Database,一种分布式存储系统)中的PB(petabyte)级大数据。
飘黄或飘红是Impala中用来描述查询节点的两种运行状态,飘黄或飘红均表明查询节点处于异常情况,飘红表示的异常情况更加严重。查询节点出现飘黄或飘红时,查询节点可能已经或者将要无法正常工作。
现有技术中,通过在查询节点出现飘黄或飘红时,人工重启查询节点,以期望查询节点的运行状态恢复正常。
但是,发明人在研究中出现,查询节点出现飘黄或飘红时,有时候系统可以自动将查询节点拉起,人工干预反而会影响集群的自我修复;而有的时候,仅重启出现飘黄或飘红的查询节点,并不能保证整个集群的稳定性,很快可能会影响整个集群导致整个集群出现飘黄或飘红状态,此时就必须重启整个集群。因此查询节点飘黄或飘红并不能准确预警实际情况。
发明人经过进一步研究发现,查询节点出现飘黄或飘红时,其执行的查询语句通常已经出现执行异常,如果可以通过对查询语句的判断,在查询节点异常之前即可以将其进行修复,即可以在很大程度上保证查询节点的正常运行。
据此,提出了本发明实施例的技术方案,在本发明实施例中,获取各个查询节点中查询语句的执行状态;判断各个查询节点中的查询语句的执行状态是否异常;如果任意查询节点中查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句;重启取消执行失败的查询节点。通过将执行状态异常的查询语句取消可以避免查询节点出现异常情况,而若取消失败,表明查询节点可能已经出现运行故障,此时即可以重启查询节点以恢复至正常状态,通过本发明实施例在查询节点出现飘红或飘黄之前,即将查询节点进行修复处理,提高了检测敏锐度和检测效率,有效保证了查询节点的正常运行。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种运行控制方法一个实施例的流程图,该方法可以包括以下几个步骤:
101:获取各个查询节点中查询语句的执行状态。
其中,Impala集群中,查询语句携带在查询请求中,查询语句具体是指SQL。Impala集群中,接收查询请求的查询接节点称为协调者节点(Coordinator),Coordinator通过解释SQL查询语句,生成查询计划树,再通过调度器把执行计划分发给具有相应数据的其它查询节点进行执行。
因此,该各个查询节点具体可以是Impala集群中的协调者节点。
其中,本发明实施例中,查询语句的执行状态可以包括运行状态(running)、完成状态(finished)、待结束状态(waiting for closed状态)以及异常状态(exception)。当然查询语句还可以处于已创建(created)、compiled(已编译)、initialize(已初始化)等状态中。
102:判断所述各个查询节点中的查询语句的执行状态是否异常。
其中,如果查询语句的执行状态异常,即表明查询节点可能会出现异常,相较于查询节点自检的飘红或飘黄状态,通过判断查询语句,可以更加敏锐的确定查询节点是否即将出现异常。
判断查询语句的执行状态是否异常有多种可能的实现方式,例如,如果查询语句长时间处于某一个执行状态,即表明查询语句执行异常。
可选地,可以是判断所述查询语句处于完成状态是否超过第一时长,或者所述查询语句处于运行状态是否超过第二时长,若是,则可以确定查询语句执行状态异常。
或者,可以判断查询语句是否处于Exception状态或者waiting for closed状态,若是,则可以确定查询语句执行状态异常。
其中,结合实际情况,该第一时长可以设置为10分钟。对于处于完成状态超过10分钟的查询语句,即可以确定查询语句执行状态异常。
由于查询语句处于运行状态与查询语句也有关系,该第二时长可以结合与查询sql匹配的正则表达式确定,可以预先设定不同正则表达式对应的时限至,从查找与查询sql匹配的正则表达式对应的时间值即为该第二时长
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个字符串是否含有某种子串,可以用来检索或替换该字符串。
该正则表达式例如可以为:
/^(insert\s+into\s+(table)?)/i,对应的时限值为45min(分钟),因此可以确定包含insert、into、table的查询语句的查询限时为45min;
/^(insert\s+overwrite\s+(table)?)/i对应的时限值为45min,因此可以确定包含insert、overwrite、table的查询语句的查询限时为45min;
/^(show\s+databases)/i对应的时限值为3min,因此可以确定包含show、databases的查询语句的查询限时为3min等。
103:如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句。
如果各个查询节点中任意查询节点的查询语句的执行状态异常,即可以表明该任意查询节点将要出现异常情况,因此,可以触发所述该任意查询节点取消执行各自的查询语句。
由步骤102中可知,查询语句的执行状态异常可以包括所述查询语句处于完成状态超过第一时长、所述查询语句处于运行状态超过第二时长、所述查询语句处于Exception状态或者waiting for closed状态等。
104:重启取消执行失败的查询节点。
如果任意查询节点如果已经出现异常情况,此时可能导致查询节点无法执行取消执行查询语句命令,查询节点僵死,此时可以重启取消执行失败的查询节点,以期恢复查询节点至正常状态。
其中,可选地,可以是在所述任意查询节点取消执行所述查询语句之后的特定时间内,将未接收到取消结果响应消息的查询节点即作为取消执行失败的查询节点。
本实施例中,通过将执行状态异常的查询语句取消可以避免查询节点出现异常情况,而若取消失败,表明查询节点可能已经出现运行故障,此时即可以重启查询节点以恢复至正常状态,通过本发明实施例在查询节点出现飘红或飘黄之前,即将查询节点进行修复处理,提高了检测敏锐度和检测效率,有效保证了查询节点的正常运行。
其中,可选地,所述重启取消执行失败的查询节点可以通过向取消执行失败的查询节点发送重启指令,由取消执行失败的查询节点执行该重启执行。
另外,发明人发现,如果查询节点已经出现异常情况时,有可能查询节点也无法执行重启指令,因此,可选地,为了保证重启成功,在某些实施例中,可以通过杀死取消失败的查询节点所在物理机器中的节点进程,并重新创建所述节点进程,以实现重启目的。
当然,在某些实施例中,确定出取消执行失败的查询节点之后,还可以输出重启提示信息,以提示并由维护人员重启该取消执行失败的查询节点。
其中,如果获取各个查询节点中的查询语句的执行状态时获取失败,查询节点也可能异常出现异常情况,无法响应获取指令而导致获取失败,此时,还可以重启执行状态获取失败的查询节点。
可选地,可以是杀死执行状态获取失败的查询节点所在物理机器中的节点进程,并重新创建所述节点进程,以实现重启目的。
在某些实施例中,可以采用多线程方式获取各个查询节点中查询语句的运行状态。通过采用多线程的方式,可以并行获取各个查询节点中查询语句的运行状态,提高处理时间,同时可以避免由于若干个查询节点出现异常情况而影响对其他查询节点的运行控制。
在某些实施例中,所述获取各个查询节点中查询语句的执行状态可以包括:
针对每一个查询节点,遍历获取每一个查询语句的执行状态;
所述方法还可以包括:
终止获取取消执行失败的查询节点中的查询语句的执行状态。
由于查询节点中任一查询节点的执行状态异常,即可以触发查询节点取消执行该任一查询节点,若取消执行失败即表明查询节点出现异常情况,此时无需对剩余的查询语句再进行判断,因此即可以终止获取取消执行失败的查询节点中的查询语句的执行状态。
图2是本发明实施例提供的一种运行控制方法又一个实施例的流程图,该方法可以包括以下几个步骤:
201:每间隔第一预设时间,获取各个查询节点中查询语句的执行状态。
针对每一个查询节点,遍历获取其每一个查询语句的执行状态,并执行如下操作。
该第一预设时间可以根据能够遍历获取完成任一个查询节点中全部查询语句的执行状态进行设置。
202:判断所述各个查询节点中的查询语句的执行状态是否异常。
203:如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句。
204:记录取消执行失败的查询节点为亚健康节点。
其中,针对每一个查询节点,可以遍历获取每一个查询语句的运行状态。
此时,对于亚健康节点,该方法还可以包括:
终止获取所述亚健康节点中的查询语句的运行状态。
205:如果任意亚健康节点连续被记录第一次数,确定所述任意亚健康节点为待重启节点。
其中,该第一次数例如可以为3次等。
可选地,作为又一个实施例,对于执行状态获取失败的查询节点也可以记录为亚健康节点。
206:重启所述待重启节点。
本实施例中,由于实际应用中查询节点取消执行失败不一定是由于节点异常导致,为了提高运行控制的准确度,可以每间隔第一预设时间,即对各个查询节点进行判断,并记录取消执行失败的查询节点为亚健康节点,如果任意亚健康节点连续被记录第一次数,再确认该任意亚健康节点为待重启节点,从而重启待重启节点。也即取消执行失败的查询节点可以不立即进行重启,如果其连续多次均取消执行失败,再将其进行重启,既保证了查询节点的正常运行,同时提高了控制准确度。
图3是本发明实施例提供的一种运行控制方法又一个实施例的流程图,该方法可以包括以下几个步骤:
301:每间隔第一预设时间,获取各个查询节点中查询语句的执行状态。
302:记录执行状态获取失败的查询节点为亚健康节点。
303:判断所述各个查询节点中的查询语句的执行状态是否异常。
304:如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句。
305:记录取消执行失败的查询节点为亚健康节点。
306:如果任意亚健康节点连续被记录第一次数,确定所述任意亚健康节点为待重启节点。
此时,对于任意亚健康节点,该方法还可以包括:
终止获取任意亚健康节点中的查询语句的运行状态。
307:每间隔第二预设时间,检查所述待重启节点是否在前N个连续重启周期中已经重启;如果否执行步骤308,如果是执行步骤309。
所述第二预设时间大于所述第一预设时间;其中,N为正整数。
308:重启所述待重启节点。
309:不重启所述待重启节点。
为了由于对于查询节点是周期性获取其上的查询节点的执行状态并进行判断,因此同一个查询节点可能被连续多次记录为待重启节点,但是,如果该查询节点已经进行过重启或者正在重启,若在下一个或者下几个周期又被记录为待重启节点,则该查询节点就会重复重启,而此时查询节点可能已经恢复至正常状态。
因此,本实施例中,为了避免重复重启,可以每间隔第二预设时间,对每一待重启节点进行检查,若其在前N个连续重启周期中已经重启,则可以不进行重启,否则再进行重启,每一个重启周期的周期时长即为该第二预设时间,该第二预设时间小于第一预设时间,第一预设时间例如可以为1分钟,第二预设时间可以为5分钟,此时,N可以等于2,也即判断当前时刻的前5分钟到前10分钟内,待重启节点是否已经重启。由于第一预设时间小于第二预设时间,因此通过对待重启节点进行判断,可以避免待重启节点重复重启的情况发生,以进一步提高控制准确度。
图4为本发明实施例提供的一种运行控制装置一个实施例的结构示意图,该装置可以包括:
状态获取模块401,用于获取各个查询节点中查询语句的执行状态。
在Impala集群中,该各个查询节点具体可以是Impala集群中的协调者节点。
异常判断模块402,用于判断所述各个查询节点中的查询语句的执行状态是否异常。
可选地,该异常判断模块可以具体用于判断所述查询语句处于完成状态是否超过第一时长,或者所述查询语句处于运行状态是否超过第二时长,或者所述查询语句是否处于Exception状态或者waiting for closed状态等。
取消执行模块403,用于如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句。
重启执行模块404,用于重启取消执行失败的查询节点。
本实施例中,通过将执行状态异常的查询语句取消可以避免查询节点出现异常情况,而若取消失败,表明查询节点可能已经出现运行故障,此时即可以重启查询节点以恢复至正常状态,通过本发明实施例在查询节点出现飘红或飘黄之前,即将查询节点进行修复处理,提高了检测敏锐度和检测效率,有效保证了查询节点的正常运行。
其中,可选地,所述重启执行模块可以具体用于杀死取消失败的查询节点所在物理机器中的节点进程,并重新创建所述节点进程,以实现重启目的。
其中,如果获取各个查询节点中的查询语句的执行状态时获取失败,查询节点也可能异常出现异常情况,无法响应获取指令而导致获取失败,因此,在某些实施例中,所述重启执行模块还可以用于重启执行状态获取失败的查询节点。可选地,该重启执行模块可以是杀死执行状态获取失败的查询节点所在物理机器中的节点进程,并重新创建所述节点进程,以实现重启目的。
此外,该状态获取模块可以采用多线程分别获取各个查询节点中查询语句的运行状态。通过采用多线程的方式,可以并行获取各个查询节点中查询语句的运行状态,提高处理时间,同时可以避免由于若干个查询节点出现异常情况而影响对其他查询节点的运行控制。
此外,在某些实施例中,该状态获取模块可以针对每一个查询节点,遍历获取每一个查询语句的执行状态。
此时,所述装置还可以包括:
终止触发模块,用于终止获取取消执行失败的查询节点中的查询语句的运行状态。
作为又一个实施例,如图5中所示,与图4对应实施例不同之处在于:
该状态获取模块402具体用于:
每间隔第一预设时间,获取各个查询节点中查询语句的执行状态;
所述重启执行模块404包括:
第一记录单元501,用于记录取消执行失败的查询节点为亚健康节点;
第二记录单元502,用于如果任意亚健康节点连续被记录第一次数,确定所述任意亚健康节点为待重启节点;
节点重启单元503,用于重启所述待重启节点。
本实施例中,由于实际应用中查询节点取消执行失败不一定是由于节点异常导致,为了提高运行控制的准确度,可以每间隔第一预设时间,即对各个查询节点进行判断,并记录取消执行失败的查询节点为亚健康节点,如果任意亚健康节点连续被记录第一次数,再确认该任意亚健康节点为待重启节点,从而重启待重启节点。也即取消执行失败的查询节点可以不立即进行重启,如果其连续多次均取消执行失败,再将其进行重启,既保证了查询节点的正常运行,同时提高了控制准确度。
此外,在某些实施例中,该第一记录单元501可以还用于记录执行状态获取失败的查询节点为亚健康节点。
在某些实施例中,所述节点重启单元503可以具体用于每间隔第二预设时间,检查所述待重启节点是否在前N个连续重启周期中已经重启;如果是,不重启所述待重启节点;如果否,重启所述待重启节点;其中,所述第二预设时间大于所述第一预设时间;其中,N为正整数。
其中,可选地,所述节点重启单元503重启所述待重启节点可以具体是杀死所述待重启节点所在物理机器中的节点进程,并重新创建所述节点进程。
本实施例中,通过对待重启节点进行判断,可以避免待重启节点重复重启的情况发生,以进一步提高控制准确度。
在一个可能的设计中,图4或图5所示实施例的运行控制装置可以实现为一电子设备,如图6中所示,该电子设备可以包括一个或多个处理器501以及一个或多个存储器502;
其中,所述一个或多个存储器602存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述一个或多个处理器601调用执行。
所述一个或多个处理器601用于:
获取各个查询节点中查询语句的执行状态;
判断所述各个查询节点中的查询语句的执行状态是否异常;
如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句;
重启取消执行失败的查询节点。
可选地,该一个或多个处理器还用于执行上述任一实施例所述的运行控制方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序;所述计算机程序使计算机执行时实现如上述任一实施例所述的运行控制方法。
通过本发明实施例的技术方案,提高了检测敏锐度和检测效率,有效保证了查询节点的正常运行。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
A1、一种运行控制方法,包括:
获取各个查询节点中查询语句的执行状态;
判断所述各个查询节点中的查询语句的执行状态是否异常;
如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句;
重启取消执行失败的查询节点。
A2、根据A1所述的方法,所述执行状态获取步骤包括:
每间隔第一预设时间,获取各个查询节点中查询语句的执行状态;
所述重启步骤包括:
记录取消执行失败的查询节点为亚健康节点;
如果任意亚健康节点连续被记录第一次数,确定所述任意亚健康节点为待重启节点;
重启所述待重启节点。
A3、根据A2所述的方法,还包括:
记录执行状态获取失败的查询节点为亚健康节点。
A4、根据A2或A3所述的方法,所述重启所述待重启节点包括:
每间隔第二预设时间,检查所述待重启节点是否在前N个连续重启周期中已经重启;所述第二预设时间大于所述第一预设时间;其中,N为正整数;
如果是,不重启所述待重启节点;
如果否,重启所述待重启节点。
A5、根据A1所述的方法,所述判断所述查询语句的运行状态是否异常包括:
判断所述查询语句处于完成状态是否超过第一时长,或者所述查询语句处于运行状态是否超过第二时长。
A6、根据A2所述的方法,所述重启所述待重启节点包括:
杀死所述待重启节点所在物理机器中的节点进程,并重新创建所述节点进程。
A7、根据A1所述的方法,所述获取各个查询节点中查询语句的执行状态包括:
针对每一个查询节点,遍历获取每一个查询语句的运行状态;
所述方法还包括:
终止获取取消执行失败的查询节点中的查询语句的运行状态。
A8、根据A1所述的方法,所述获取各个查询节点中查询语句的执行状态包括:
采用多线程方式获取各个查询节点中查询语句的运行状态。
A9、根据A1所述的方法,还包括:
重启执行状态获取失败的查询节点。
A10、根据A1所述的方法,所述查询节点为Impala集群中的协调者节点。
B11、一种运行控制装置,包括:
状态获取模块,用于获取各个查询节点中查询语句的执行状态;
异常判断模块,用于判断所述各个查询节点中的查询语句的执行状态是否异常;
取消执行模块,用于如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句;
重启执行模块,用于重启取消执行失败的查询节点。
B12、根据B11所述的装置,所述状态获取模块具体用于:
每间隔第一预设时间,获取各个查询节点中查询语句的执行状态;
所述重启执行模块包括:
第一记录单元,用于记录取消执行失败的查询节点为亚健康节点;
第二记录单元,用于如果任意亚健康节点连续被记录第一次数,确定所述任意亚健康节点为待重启节点;
节点重启单元,用于重启所述待重启节点。
B13、根据B12所述的装置,所述第一记录单元还用于:
记录执行状态获取失败的查询节点为亚健康节点。
B14、根据B12或B13所述的装置,所述节点重启单元具体用于:
每间隔第二预设时间,检查所述待重启节点是否在前N个连续重启周期中已经重启;如果是,不重启所述待重启节点;如果否,重启所述待重启节点;其中,所述第二预设时间大于所述第一预设时间;其中,N为正整数。
B15、根据B11所述的装置,所述异常判断模块具体用于:
判断所述查询语句处于完成状态超过第一时长,或者所述查询语句处于运行状态超过第二时长。
B16、根据B12所述的装置,其特征在于,所述节点重启单元具体用于杀死所述待重启节点所在物理机器中的节点进程,并重新创建所述节点进程。
B17、根据B11所述的装置,其特征在于,所述状态获取模块具体用于针对每一个查询节点,遍历获取每一个查询语句的运行状态;
所述装置还包括:
终止触发模块,用于终止获取取消执行失败的查询节点中的查询语句的运行状态。
B18、根据B11所述的装置,其特征在于,所述状态获取模块具体用于采用多线程方式获取各个查询节点中查询语句的运行状态。
B19、根据B11所述的装置,其特征在于,所述重启执行模块还用于重启执行状态获取失败的查询节点。
B20、根据B11所述的装置,其特征在于,所述查询节点为Impala集群中的协调者节点。
C21、一种电子设备,包括一个或多个存储器以及一个或多个处理器;
其中,所述一个或多个存储器一条或多条计算机指令,其中,所述一条或多条计算机指令供所述一个或多个处理器调用执行。
所述一个或多个处理器用于:
获取各个查询节点中查询语句的执行状态;
判断所述各个查询节点中的查询语句的执行状态是否异常;
如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句;
重启取消执行失败的查询节点。
D22、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序;
所述计算机程序使计算机执行时实现如A1~A10任一项所述的运行控制方法。
Claims (10)
1.一种运行控制方法,其特征在于,包括:
获取各个查询节点中查询语句的执行状态;
判断所述各个查询节点中的查询语句的执行状态是否异常;
如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句;
重启取消执行失败的查询节点。
2.根据权利要求1所述的方法,其特征在于,所述执行状态获取步骤包括:
每间隔第一预设时间,获取各个查询节点中查询语句的执行状态;
所述重启步骤包括:
记录取消执行失败的查询节点为亚健康节点;
如果任意亚健康节点连续被记录第一次数,确定所述任意亚健康节点为待重启节点;
重启所述待重启节点。
3.根据权利要求2所述的方法,其特征在于,还包括:
记录执行状态获取失败的查询节点为亚健康节点。
4.根据权利要求2或3所述的方法,其特征在于,所述重启所述待重启节点包括:
每间隔第二预设时间,检查所述待重启节点是否在前N个连续重启周期中已经重启;所述第二预设时间大于所述第一预设时间;其中,N为正整数;
如果是,不重启所述待重启节点;
如果否,重启所述待重启节点。
5.根据权利要求1所述的方法,其特征在于,所述判断所述查询语句的运行状态是否异常包括:
判断所述查询语句处于完成状态是否超过第一时长,或者所述查询语句处于运行状态是否超过第二时长。
6.一种运行控制装置,其特征在于,包括:
状态获取模块,用于获取各个查询节点中查询语句的执行状态;
异常判断模块,用于判断所述各个查询节点中的查询语句的执行状态是否异常;
取消执行模块,用于如果任意查询节点中的查询语句的执行状态异常,触发所述任意查询节点取消执行所述查询语句;
重启执行模块,用于重启取消执行失败的查询节点。
7.根据权利要求6所述的装置,其特征在于,所述状态获取模块具体用于:
每间隔第一预设时间,获取各个查询节点中查询语句的执行状态;
所述重启执行模块包括:
第一记录单元,用于记录取消执行失败的查询节点为亚健康节点;
第二记录单元,用于如果任意亚健康节点连续被记录第一次数,确定所述任意亚健康节点为待重启节点;
节点重启单元,用于重启所述待重启节点。
8.根据权利要求7所述的装置,其特征在于,所述第一记录单元还用于:
记录执行状态获取失败的查询节点为亚健康节点。
9.根据权利要求7或8所述的装置,其特征在于,所述节点重启单元具体用于:
每间隔第二预设时间,检查所述待重启节点是否在前N个连续重启周期中已经重启;如果是,不重启所述待重启节点;如果否,重启所述待重启节点;其中,所述第二预设时间大于所述第一预设时间;其中,N为正整数。
10.根据权利要求6所述的装置,其特征在于,所述异常判断模块具体用于:
判断所述查询语句处于完成状态超过第一时长,或者所述查询语句处于运行状态超过第二时长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710494532.9A CN107402968A (zh) | 2017-06-26 | 2017-06-26 | 运行控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710494532.9A CN107402968A (zh) | 2017-06-26 | 2017-06-26 | 运行控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107402968A true CN107402968A (zh) | 2017-11-28 |
Family
ID=60404460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710494532.9A Pending CN107402968A (zh) | 2017-06-26 | 2017-06-26 | 运行控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107402968A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173715A (zh) * | 2018-01-02 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种获取分布式存储服务器硬件信息的方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547119A (zh) * | 2003-12-04 | 2004-11-17 | 中国科学院计算技术研究所 | 一种构造大规模高可用机群操作系统的方法 |
US7440977B2 (en) * | 2005-05-11 | 2008-10-21 | Inha-Industry Partnership Institute | Recovery method using extendible hashing-based cluster logs in shared-nothing spatial database cluster |
CN103092712A (zh) * | 2011-11-04 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种任务中断恢复方法和设备 |
CN104219235A (zh) * | 2014-08-28 | 2014-12-17 | 福建新大陆软件工程有限公司 | 一种分布式交易请求方法及装置 |
-
2017
- 2017-06-26 CN CN201710494532.9A patent/CN107402968A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547119A (zh) * | 2003-12-04 | 2004-11-17 | 中国科学院计算技术研究所 | 一种构造大规模高可用机群操作系统的方法 |
US7440977B2 (en) * | 2005-05-11 | 2008-10-21 | Inha-Industry Partnership Institute | Recovery method using extendible hashing-based cluster logs in shared-nothing spatial database cluster |
CN103092712A (zh) * | 2011-11-04 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种任务中断恢复方法和设备 |
CN104219235A (zh) * | 2014-08-28 | 2014-12-17 | 福建新大陆软件工程有限公司 | 一种分布式交易请求方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173715A (zh) * | 2018-01-02 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种获取分布式存储服务器硬件信息的方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Marcus et al. | Bao: Making learned query optimization practical | |
JP6602435B2 (ja) | 連続イベント処理(cep)クエリの並列の実行 | |
CN109033063B (zh) | 基于知识图谱的机器推理方法、电子设备及计算机可读存储介质 | |
Yilmaz et al. | Covering arrays for efficient fault characterization in complex configuration spaces | |
US11580560B2 (en) | Identity resolution for fraud ring detection | |
CN108009037A (zh) | 批处理作业故障处理方法、装置、存储介质及设备 | |
EP0616708B1 (en) | System management method and apparatus | |
Garvin et al. | Using feature locality: can we leverage history to avoid failures during reconfiguration? | |
WO2016105352A1 (en) | Automatically rerunning test executions | |
CN110166289A (zh) | 一种识别目标信息资产的方法及装置 | |
US11132249B1 (en) | Software code change reversal tool | |
CN109240854A (zh) | 数据恢复方法及系统 | |
DE60306494T2 (de) | Vorrichtung, verfahren und computerprogrammprodukt zur modellierung der kausalität in einem flusssystem | |
CN107402968A (zh) | 运行控制方法及装置 | |
US8423496B1 (en) | Dynamic determination of needed agent rules | |
CN112860523B (zh) | 批量作业处理的故障预测方法、装置和服务器 | |
Zha et al. | Pre-train and search: Efficient embedding table sharding with pre-trained neural cost models | |
US20100131497A1 (en) | Method for determining which of a number of test cases should be run during testing | |
WO2024118188A1 (en) | Computer application error root cause diagnostic tool | |
Wiese et al. | Autonomic tuning expert: a framework for best-practice oriented autonomic database tuning | |
CN116991615A (zh) | 一种基于在线学习的云原生系统故障自愈方法及装置 | |
Davidovič et al. | Canary analysis service | |
US8200603B1 (en) | Construction of an agent that utilizes as-needed canonical rules | |
Fang et al. | A rejuvenation strategy of two-granularity software based on adaptive control | |
US10474544B1 (en) | Distributed monitoring agents for cluster execution of jobs |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171128 |