Nothing Special   »   [go: up one dir, main page]

CN110764940A - 分布式系统服务异常的处理方法及装置 - Google Patents

分布式系统服务异常的处理方法及装置 Download PDF

Info

Publication number
CN110764940A
CN110764940A CN201810837175.6A CN201810837175A CN110764940A CN 110764940 A CN110764940 A CN 110764940A CN 201810837175 A CN201810837175 A CN 201810837175A CN 110764940 A CN110764940 A CN 110764940A
Authority
CN
China
Prior art keywords
distributed system
system service
service
state
cluster
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
CN201810837175.6A
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.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co 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 Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201810837175.6A priority Critical patent/CN110764940A/zh
Publication of CN110764940A publication Critical patent/CN110764940A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供一种分布式系统服务异常的处理方法及装置,属于分布式系统领域。所述方法包括:获取所述分布式系统服务的状态;如果所述分布式系统服务的状态为异常状态,则对所述分布式系统服务执行重启操作;以及在对所述分布式系统服务执行所述重启操作之后,如果所述分布式系统服务没有恢复到正常状态,则对所述分布式系统服务所属的集群执行重启操作,以使所述分布式系统服务的状态恢复到正常状态。其能够实现主动发现分布式系统服务的异常状态并进行自动纠正,从而确保分布式系统服务的正常使用。

Description

分布式系统服务异常的处理方法及装置
技术领域
本发明涉及分布式系统领域,具体地,涉及分布式系统服务异常的处理方法及装置。
背景技术
在使用分布式系统时,需要确保分布式系统正常运行。例如,在将分布式系统映射到本地时,需要确保能够在本地文件系统正常的进行读取、写入等操作,这就要保证分布式系统服务的正常运行。如果分布式系统服务异常,则会造成映射到本地的目录无法正常访问,同时也会影响部分操作系统命令的正常执行,如执行df命令长时间无响应、对映射到本地的目录执行ls命令长时间无响应等。
发明内容
本发明实施例的目的是提供一种分布式系统服务异常的处理方法及装置,用于解决或至少部分解决上述技术问题。
为了实现上述目的,本发明实施例提供一种分布式系统服务异常的处理方法,所述方法包括:获取所述分布式系统服务的状态;如果所述分布式系统服务的状态为异常状态,则对所述分布式系统服务执行重启操作;以及在对所述分布式系统服务执行所述重启操作之后,如果所述分布式系统服务没有恢复到正常状态,则对所述分布式系统服务所属的集群执行重启操作,以使所述分布式系统服务的状态恢复到正常状态。
可选地,在对所述分布式服务所属的集群执行重启操作之后,所述方法还包括:验证所述集群的集群服务是否处于正常状态;以及如果所述集群服务处于正常状态,则发送集群恢复正常通知;否则,发送集群故障通知。
可选地,所述对所述分布式系统服务执行重启操作包括:向所述分布式系统服务发送重启命令,以触发所述分布式系统服务执行重启操作;获取所述分布式系统服务的状态;如果所述分布式系统服务的状态没有恢复到所述正常状态,则判断对所述分布式系统服务执行重启的次数是否达到预定次数;以及如果对所述分布式系统服务执行重启的次数未达到所述预定次数,则返回继续执行所述向所述分布式系统服务发送重启命令的步骤,直至所述分布式系统服务执行重启的次数达到所述预定次数,或者,所述分布式系统服务的状态恢复到所述正常状态。
可选地,所述方法还包括:在每次向所述分布式系统服务发送所述重启命令之后,判断所述重启命令是否成功执行,以及如果所述重启命令未成功执行,则发送所述重启命令执行失败通知;和/或,从所述重启命令成功执行的时刻开始计时,以及当计时时间达到预定时间时,转入执行获取所述分布式系统服务的状态的步骤。
可选地,所述分布式系统为HDFS,在获取所述分布式系统服务的状态之前,所述方法还包括:建立所述HDFS的文件系统到本地文件系统的映射,以便在所述本地文件系统中查看所述HDFS的文件系统中的数据;和/或当所述分布式系统服务的状态为异常状态时,确定所述本地文件系统中的HDFS的文件系统中的数据不可访问。
相应地,本发明实施例还提供一种分布式系统服务异常的处理装置,所述装置包括:获取模块,用于获取所述分布式系统服务的状态;第一重启模块,用于如果所述分布式系统服务的状态为异常状态,则对所述分布式系统服务执行重启操作;以及第二重启模块,用于在对所述分布式系统服务执行重启操作之后,如果所述分布式系统服务没有恢复到正常状态,则对所述分布式系统服务所属的集群执行重启操作,以使所述分布式系统服务的状态恢复到正常状态。
可选地,所述装置还包括验证模块和发送模块,在对所述分布式服务所属的集群执行重启操作之后,所述验证模块用于验证所述集群的集群服务是否处于正常状态;以及所述发送模块用于如果所述集群服务处于正常状态,则发送集群恢复正常通知;否则,发送集群故障通知。
可选地,所述第一重启模块包括:重启单元,用于向所述分布式系统服务发送重启命令,以触发所述分布式系统服务执行重启操作;获取单元,用于获取所述分布式系统服务的状态;判断单元,用于如果所述分布式系统服务的状态没有恢复到所述正常状态,则判断对所述分布式系统服务执行重启的次数是否达到预定次数;所述重启单元,还用于在对所述分布式系统服务执行重启的次数未达到所述预定次数时,返回继续执行所述向所述分布式系统服务发送重启命令的步骤,直至所述分布式系统服务执行重启的次数达到所述预定次数,或者,所述分布式系统服务的状态恢复到所述正常状态。
可选地,所述装置还包括:判断模块,用于在每次向所述分布式系统服务发送所述重启命令之后,判断所述重启命令是否成功执行,以及发送模块,用于在所述重启命令未成功执行时,发送所述重启命令执行失败通知;和/或,计时模块,用于从所述重启命令成功执行的时刻开始计时;以及,所述获取单元,还用于当计时时间达到预定时间时,转入执行获取所述分布式系统服务的状态的步骤。
可选地,所述分布式系统为HDFS,所述装置还包括:映射建立模块,用于建立所述HDFS的文件系统到本地文件系统的映射,以便在所述本地文件系统中查看所述HDFS的文件系统中的数据;和/或确定模块,用于当所述分布式系统服务的状态为异常状态时,确定所述本地文件系统中的HDFS的文件系统中的数据不可访问。
相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器能够执行上述任意一种分布式系统服务异常的处理方法。
相应地,本发明实施例还提供一种处理器,所述处理器用于运行程序,所述程序运行时执行上述任意一种分布式系统服务异常的处理方法。
通过上述技术方案,在分布式系统服务的状态为异常状态的情况下,重启分布式系统。如果分布式系统服务的状态仍然为异常状态,则重启分布式系统服务所属的集群,以使分布式系统服务的状态恢复到正常状态。如此,能够实现主动发现分布式系统服务的异常状态并进行自动纠正,从而确保分布式系统服务的正常使用。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1示出了根据本发明一实施例的分布式系统服务异常的处理方法的流程示意图;
图2示出了根据本发明一可选实施例的分布式系统服务异常的处理方法的流程示意图;
图3示出了根据本发明一可选实施例的分布式系统服务异常的处理方法的流程示意图;以及
图4示出了根据本发明一实施例的分布式系统服务异常的处理装置的结构框图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1示出了根据本发明一实施例的分布式系统服务异常的处理方法的流程示意图。如图1所示,本发明实施例提供一种分布式系统服务异常的处理方法,所述分布式系统可以是HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)、GFS(GoogleFile System,谷歌文件系统)、Lustre文件系统、TFS(Taobao File System,淘宝文件系统)等任意类型的分布式文件系统,所述方法可以包括步骤S102至步骤S106。
在步骤S102,获取所述分布式系统服务的状态。
可以通过分布式系统服务所属的集群提供的API(Application ProgrammingInterface,应用程序编程接口)接口来获取分布式系统服务的状态。
对所述分布式系统服务的状态的获取可以实时执行,也可以根据需要每隔一定预定时间执行一次,例如,可以每天执行一次,具体可以根据对系统实时性要求的高低进行设置,本发明实施例对此并不进行特定限制。
在步骤S104,如果所述分布式系统服务的状态为异常状态,则对所述分布式系统服务执行重启操作。
其中,分布式系统服务的状态主要包括:正常状态和异常状态。如果获取到的分布式系统服务的状态指示当前分布式系统服务的状态为正常状态,则等待下一次执行步骤S102,或者可以继续对分布式系统文件进行后续操作,本发明实施例并不作特定限制。
如果获取到的分布式系统服务的状态指示分布式系统服务的当前状态为异常状态,则可以确定分布式系统当前不能正常使用,这种情况下可以对分布式系统进行重启,从而使分布式系统服务的状态恢复至正常状态。具体地,可以向分布式系统服务发送重启命令,例如可以通过分布式系统提供的API接口来向分布式系统服务发送重启命令,响应于该重启命令,分布式系统服务将重启。
在步骤S106,在对所述分布式系统服务执行重启操作之后,如果所述分布式系统服务没有恢复到正常状态,则对所述分布式系统服务所属的集群执行重启操作,以使所述分布式系统服务的状态恢复到正常状态。
在对分布式系统服务执行重启操作之后,可以再次获取分布式系统服务的状态,以确定分布式系统服务是否恢复到正常状态。如果所述分布式系统服务在执行重启操作之后恢复到正常状态,则等待下一次执行步骤S102,或者可以继续对分布式系统文件进行后续操作,本发明实施例并不作特定限制。
如果所述分布式系统服务在执行重启操作之后仍然没有恢复到正常状态,则可以对分布式系统服务所属的集群执行重启操作,以使分布式系统服务的状态恢复到正常状态。
集群通常可以提供包括分布式系统服务在内的多种服务,如果其中任意一种或多种服务处于异常状态,整个集群的集群服务也将不能正常使用。因此,在分布式系统服务的状态为异常状态的情况下,分布式系统服务所属的集群的集群服务也将处于异常状态。在对所述分布式系统服务执行重启操作之后,如果所述分布式系统服务没有恢复到正常状态,则可以尝试对所述分布式系统服务所属的集群执行重启操作。可以向分布式系统所属的集群发送重启命令,例如,可以通过集群提供的API接口向集群发送所述重启命令,以重启集群,以期使得所述分布式系统服务的状态能够恢复到正常状态。
通过上述实施例,在分布式系统服务的状态为异常状态的情况下,尝试重启分布式系统来恢复分布式系统服务。如果分布式系统服务的状态仍然为异常状态,则尝试重启分布式系统服务所属的集群,以使分布式系统服务的状态能够恢复到正常状态。如此,能够实现主动发现分布式系统服务的异常状态并进行自动纠正,从而确保分布式系统服务的正常使用。
图2示出了根据本发明一可选实施例的分布式系统服务异常的处理方法的流程示意图。如图2所示,基于上述实施例,本发明实施例提供的分布式系统服务异常的处理方法还可以包括在执行步骤S106之后,执行步骤S108至步骤S110。
在步骤S108,验证所述集群的集群服务是否处于正常状态。
在集群重启之后,可以进一步判断集群服务是否处于正常状态。例如,可以通过集群提供的API接口来获取集群服务的状态。
在步骤S110,如果所述集群服务处于正常状态,则发送集群恢复正常通知;否则,发送集群故障通知。
如果确定集群服务处于正常状态,则说明集群提供的各服务也均处于正常状态,这种情况下,可以发送集群恢复正常通知,该通知例如可以以即时消息(如短信、微信)或邮件的形式发送到用户终端,以方便用户知晓集群服务已恢复到正常状态。本发明实施例中,用户终端可以是智能手机、笔记本、平板电脑等。
如果确定集群服务处于异常状态,则说明集群可能故障,这种情况下,则可以发送集群故障通知,该通知例如可以以即时消息(如短信、微信)或邮件的形式发送到用户终端。用户在接收到该通知之后,可以执行人工检测或修复。
通过向用户终端发送集群服务恢复正常通知或集群故障通知,可以使得用户能够及时掌握集群服务的状态。
图3示出了根据本发明一可选实施例的分布式系统服务异常的处理方法的流程示意图。如图3所示,本发明实施例提供的分布式系统服务异常的处理方法可以包括步骤S302至步骤S316。
在步骤S302,获取所述分布式系统服务的状态。
与步骤S102相同,可以通过分布式系统提供的API接口来获取分布式系统服务的状态。
在步骤S304,如果所述分布式系统服务的状态为异常状态,则向分布式系统服务发送重启命令。
如果获取到的分布式系统服务的状态指示当前分布式系统服务的状态为正常状态,则等待下一次执行步骤S302,或者可以继续对分布式系统文件进行后续操作。如果获取到的分布式系统服务的状态指示分布式系统服务的当前状态为异常状态,则可以确定分布式系统当前不能正常使用,这种情况下,可以向分布式系统服务发送重启命令,例如可以通过分布式系统服务所属的集群提供的API接口来向分布式系统服务发送重启命令,响应于该重启命令,分布式系统服务将重启。
在步骤S306,判断在步骤S304中向分布式系统服务发送的重启命令是否成功执行。
响应于步骤S304中的重启命令,分布式系统服务将重启,并且可以返回重启命令是否成功执行的指示。则在步骤S306,可以通过集群提供的API接口读取步骤S304中的重启命令是否成功执行的指示。如果步骤S304中的重启命令没有成功执行,则分布式系统服务可能故障,这种情况下,即使继续对分布式系统服务执行重启操作或者对集群执行重启操作,分布式系统服务都将不会恢复到正常状态。因此,在步骤S304中的重启命令未成功执行的情况下,可以执行步骤S316,发送分布式系统服务重启命令执行失败的通知,所述通知例如可以以即时消息(如短信、微信)或邮件的形式发送到用户终端。用户在收到所述通知之后,可以对分布式系统服务执行人工检测或修复。如果步骤S304中的重启命令成功执行,则继续执行步骤S308。
在步骤S308,如果向分布式系统服务发送的重启命令执行成功,则从重启命令成功执行的时刻开始计时。
例如,可以通过添加计时函数进行计时,或者,通过分布式系统自带的时间系统的计时功能实现。
在步骤S310,如果步骤S308中的计时达到预定时间,则获取分布式系统服务的状态。
由于分布式系统服务从重启到恢复到正常状态可能需要一定的时间,因此,在重启命令成功执行预定时间之后,再获取分布式系统服务的状态可以保证获取到的分布式系统服务的状态的准确性。其中,该预定时间可以是任意合适的时间,例如预定时间的范围可以是2分钟到6分钟,可选地为3分钟等,但是本发明实施例并不进行特定限制。
如果获取到的分布式系统服务的状态指示分布式系统服务已恢复到正常状态,则可以对分布式系统文件执行后续操作,或者等待下一次执行步骤S302。
在步骤S312,如果分布式系统服务的状态没有恢复到正常状态,则判断对分布式系统服务执行重启的次数是否达到预定次数。
由于集群重启比分布式系统服务重启可能需要消耗更多的时间,因此,在分布式系统服务的状态为异常状态的情况下,可以尝试多次重启分布式系统服务,以期通过重启分布式系统服务来纠正分布式系统服务的状态。所述预定次数可以设置为任意合适的值,例如所述预定次数的范围可以是2次到5次,可选地,可以是3次,但是本发明实施例并不进行特定限制。
如果对所述分布式系统服务执行重启的次数还未达到所述预定次数,则返回从所述步骤S304开始重新执行操作流程,直至分布式系统服务执行重启的次数达到预定次数,或者,分布式系统服务的状态恢复到正常状态。如果对所述分布式系统服务执行重启的次数已达到所述预定次数,然而分布式系统服务的状态仍然未恢复到正常状态,则执行步骤S314。
在步骤S314,对所述分布式系统服务所属的集群执行重启操作。
如果对所述分布式系统服务执行预定次数的重启之后,分布式系统服务仍然处于异常状态,则可以尝试对集群执行重启操作以将集群恢复到正常状态。例如,可以通过集群提供的API接口来向集群发送用于将集群重启的重启命令,响应于该重启命令,集群将重启。可选地,在执行步骤S314的同时,也可以向用户终端发送分布式系统服务异常的告警通知,该告警通知例如可以以即时消息(如短信、微信)或邮件的形式发送到用户终端,以方便用户知晓分布式系统服务异常,可选地,用户也可以根据关于分布式系统服务异常的告警通知而执行人工检测或修复。
在集群重启之后,可以进一步判断集群服务是否处于正常状态。例如,可以通过集群提供的API接口来获取集群服务的状态。如果确定集群服务处于正常状态,则说明集群提供的各服务也均处于正常状态,这种情况下,可以发送集群恢复正常通知,该通知例如可以短信或邮件的形式外发到用户终端,以方便用户知晓集群服务已恢复到正常状态。本发明实施例中,用户终端可以是智能手机、笔记本、平板电脑等。如果确定集群服务处于异常状态,则说明集群可能故障,这种情况下,则可以发送集群故障通知,该通知例如可以以即时消息(如短信、微信)或邮件的形式外发到用户终端。用户在接收到该通知之后,可以执行人工检测或修复。
通过上述实施例,在分布式系统服务的状态为异常状态的情况下,尝试多次重启分布式系统来恢复分布式系统服务。如果多次重启之后,分布式系统服务的状态仍然为异常状态,再尝试重启分布式系统服务所属的集群,以使分布式系统服务的状态能够恢复到正常状态。如此,可以确保分布式系统服务能够最大可能自动修正异常状态。
本发明任意实施例中,分布式系统可以是HDFS。在使用Hadoop开源技术中,Hadoop集群能够提供Hadoop分布式文件系统(Hadoop Distributed File System,简称HDFS)服务。可以将文件存储在HDFS中以获取较大的吞吐量,并且也可以保证文件的高容错性。也就是说,操作系统中的本地文件系统(例如,在Linux服务器中使用的ext4或ext3文件系统)可以与HDFS文件系统进行数据传输。
实际使用时,可以预先建立所述HDFS的文件系统到本地文件系统的映射,以便在所述本地文件系统中查看所述HDFS的文件系统中的数据。例如,可以使用以下命令来进行映射:
hadoop-fuse-dfs hdfs://nameservice1/nfs,
以上命令的含义是将HDFS的文件系统的根目录挂载到本地的/nfs目录下。命令操作成功后,可以从本地/nfs目录中查看到HDFS文件系统中的数据。也就是说,可以在逻辑上将其视为本地文件系统而直接进行文件的处理,简化了操作流程。
将HDFS的文件系统映射到本地,同时也需要在本地文件系统正常地进行读取、写入等操作,这就要保证HDFS服务的正常运行。如果集群的HDFS服务异常,则会造成映射到本地的/nfs目录无法正常访问,同时也会影响部分操作系统命令的正常执行,如执行df命令长时间无响应、对/nfs目录执行ls命令长时间无响应等。也就是说,当HDFS服务的状态为异常状态时,可以确定本地文件系统中的HDFS的文件系统中的数据不可访问。由于通过HDFS服务的状态,能够提前判断本地文件系统中映射的HDFS文件系统的数据是否可以访问,从而将问题发现的节点提前,能够在发现问题后及时校正,确保HDFS系统服务能够正常使用,从而防止在需要使用时才发现问题,影响正常使用情况的发生。
Hadoop集群(本发实施例中统称“集群”)提供的服务包括HDFS、Hadoop数据仓库工具(Hive)、Hbase(Hadoop-Database,分布式存储系统)、YARN(Yet Another ResourceNegotiator,另一种资源协调者)、企业级搜索应用服务器等。如果其中一种服务处于异常状态,将使得集群不可用,从而集群提供的各种服务也将不能正常使用。
在HDFS的文件系统映射到本地文件系统的情况下,可以通过与HDFS服务对应的集群提供的API接口来获取HDFS服务的状态。如果HDFS服务的状态为异常状态,则尝试对HDFS服务执行重启操作。在对HDFS服务执行重启操作之后,如果HDFS服务仍然没有恢复到正常状态,可以尝试对HDFS服务所属的集群执行重启操作,以使HDFS服务的状态恢复到正常状态。HDFS服务异常的处理方法的具体执行步骤和益处可以参考上文对于分布式系统服务异常的处理方法的具体描述,这里将不再赘述。
相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器能够执行本发明任意实施例提供的分布式系统服务异常的处理方法。所述机器可读存储介质例如可以是U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,本发明实施例还提供一种处理器,所述处理器用于运行程序,所述程序运行时执行上述任意一个实施例提供的分布式系统服务异常的处理方法。
图4示出了根据本发明一实施例的分布式系统服务异常的处理装置的结构框图。如图4所示,本发明实施例还提供一种分布式系统服务异常的处理装置,所述分布式系统可以是HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)、GFS(Google FileSystem,谷歌文件系统)、Lustre文件系统、TFS(Taobao File System,淘宝文件系统)等任意类型的分布式文件系统,所述装置可以包括:获取模块410,用于获取所述分布式系统服务的状态;第一重启模块420,用于如果所述分布式系统服务的状态为异常状态,则对所述分布式系统服务执行重启操作;以及第二重启模块430,用于在对所述分布式系统服务执行重启操作之后,如果所述分布式系统服务没有恢复到正常状态,则对所述分布式系统服务所属的集群执行重启操作,以使所述分布式系统服务的状态恢复到正常状态。其能够实现主动发现分布式系统服务的异常状态并进行自动纠正,从而确保分布式系统服务的正常使用。
进一步地,在对所述分布式服务所属的集群执行重启操作之后,所述装置还可以包括验证模块和发送模块,在对所述分布式服务所属的集群执行重启操作之后,验证模块可以验证集群的集群服务是否处于正常状态。如果集群服务处于正常状态,则发送模块可以发送集群恢复正常通知,该通知例如可以以即时消息(如短信、微信)或邮件的形式外发到用户终端,以方便用户知晓集群服务已恢复到正常状态。如果集群服务处于异常状态,则发送模块可以发送集群故障通知,该通知例如可以以即时消息(如短信、微信)或邮件的形式发送到用户终端。用户在接收到该通知之后,可以执行人工检测或修复。
进一步地,所述第一重启模块可以包括:重启单元,用于向所述分布式系统服务发送重启命令,以触发所述分布式系统服务执行重启操作;获取单元,用于获取所述分布式系统服务的状态;判断单元,用于如果所述分布式系统服务的状态没有恢复到所述正常状态,则判断对所述分布式系统服务执行重启的次数是否达到预定次数;以及,所述重启单元,还用于在对所述分布式系统服务执行重启的次数未达到所述预定次数时,返回继续执行所述向所述分布式系统服务发送重启命令的步骤,直至所述分布式系统服务执行重启的次数达到所述预定次数,或者,所述分布式系统服务的状态恢复到所述正常状态。
进一步地,所述装置还可以包括判断模块、发送模块和/或计时模块,在重启单元每次向分布式系统服务发送所述重启命令之后,判断模块可以判断重启命令是否执行成功;发送模块,用于在重启命令没有成功执行时,发送分布式系统服务重启命令执行失败的通知,所述通知例如可以以即时消息(如短信、微信)或邮件的形式发送到用户终端。用户在收到所述通知之后,可以对分布式系统服务执行人工检测或修复。如果重启命令成功执行,则计时模块可以从重启命令成功执行的时刻开始计时,如果计时达到预定时间,则继续转入由获取单元获取所述分布式系统服务的状态。其中,该预定时间可以是任意合适的时间,例如预定时间的范围可以是2分钟到6分钟,可选地为3分钟等,但是本发明实施例并不进行特定限制。
通过上述实施例,在分布式系统服务的状态为异常状态的情况下,尝试多次重启分布式系统来恢复分布式系统服务。如果多次重启之后,分布式系统服务的状态仍然为异常状态,再尝试重启分布式系统服务所属的集群,以使分布式系统服务的状态能够恢复到正常状态。如此,可以确保分布式系统服务能够最大可能自动修正异常状态。
进一步地,分布式系统可以是HDFS。本发明实施例提供的分布式系统服务异常的处理装置还可以包括映射建立模块和/确定模块。映射建立模块可以用于建立所述HDFS的文件系统到本地文件系统的映射,以便在所述本地文件系统中查看所述HDFS的文件系统中的数据。确定模块可以用于当所述分布式系统服务的状态为异常状态时,确定所述本地文件系统中的HDFS的文件系统中的数据不可访问。在HDFS的文件系统映射到本地文件系统的情况下,可以通过与HDFS服务对应的集群提供的API接口来获取HDFS服务的状态。如果HDFS服务的状态为异常状态,则尝试对HDFS服务执行重启操作。在对HDFS服务执行重启操作之后,如果HDFS服务仍然没有恢复到正常状态,可以尝试对HDFS服务所属的集群执行重启操作,以期使得HDFS服务的状态能够自动恢复到正常状态。
本发明实施例提供的分布式系统服务异常的处理装置的具体工作原理及益处与上述本发明实施例提供的分布式系统服务异常的处理方法的具体工作原理及益处相似,这里将不再赘述。需要说明的是,分布式系统服务异常的处理装置的各模块、单元等均可作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。处理器中包含内核,由内核去存储器中调取相应的程序单元。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。
需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。
本发明实施例中,作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

Claims (10)

1.一种分布式系统服务异常的处理方法,其特征在于,所述方法包括:
获取所述分布式系统服务的状态;
如果所述分布式系统服务的状态为异常状态,则对所述分布式系统服务执行重启操作;以及
在对所述分布式系统服务执行所述重启操作之后,如果所述分布式系统服务没有恢复到正常状态,则对所述分布式系统服务所属的集群执行重启操作,以使所述分布式系统服务的状态恢复到正常状态。
2.根据权利要求1所述的方法,其特征在于,在对所述分布式服务所属的集群执行重启操作之后,所述方法还包括:
验证所述集群的集群服务是否处于正常状态;以及
如果所述集群服务处于正常状态,则发送集群恢复正常通知;否则,发送集群故障通知。
3.根据权利要求1所述的方法,其特征在于,所述对所述分布式系统服务执行重启操作,包括:
向所述分布式系统服务发送重启命令,以触发所述分布式系统服务执行重启操作;
获取所述分布式系统服务的状态;
如果所述分布式系统服务的状态没有恢复到所述正常状态,则判断对所述分布式系统服务执行重启的次数是否达到预定次数;以及
如果对所述分布式系统服务执行重启的次数未达到所述预定次数,则返回继续执行所述向所述分布式系统服务发送重启命令的步骤,直至所述分布式系统服务执行重启的次数达到所述预定次数,或者,所述分布式系统服务的状态恢复到所述正常状态。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在每次向所述分布式系统服务发送所述重启命令之后,判断所述重启命令是否成功执行;以及
如果所述重启命令未成功执行,则发送所述重启命令执行失败通知;
和/或
从所述重启命令成功执行的时刻开始计时;以及
当计时时间达到预定时间时,转入执行获取所述分布式系统服务的状态的步骤。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述分布式系统为HDFS,在获取所述分布式系统服务的状态之前,所述方法还包括:
建立所述HDFS的文件系统到本地文件系统的映射,以便在所述本地文件系统中查看所述HDFS的文件系统中的数据;和/或
当所述分布式系统服务的状态为异常状态时,确定所述本地文件系统中的HDFS的文件系统中的数据不可访问。
6.一种分布式系统服务异常的处理装置,其特征在于,所述装置包括:
获取模块,用于获取所述分布式系统服务的状态;
第一重启模块,用于如果所述分布式系统服务的状态为异常状态,则对所述分布式系统服务执行重启操作;以及
第二重启模块,用于在对所述分布式系统服务执行重启操作之后,如果所述分布式系统服务没有恢复到正常状态,则对所述分布式系统服务所属的集群执行重启操作,以使所述分布式系统服务的状态恢复到正常状态。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括验证模块和发送模块,在对所述分布式服务所属的集群执行重启操作之后,
所述验证模块用于验证所述集群的集群服务是否处于正常状态;以及
所述发送模块用于如果所述集群服务处于正常状态,则发送集群恢复正常通知;否则,发送集群故障通知。
8.根据权利要求6所述的装置,其特征在于,所述第一重启模块包括:
重启单元,用于向所述分布式系统服务发送重启命令,以触发所述分布式系统服务执行重启操作;
获取单元,用于获取所述分布式系统服务的状态;
判断单元,用于如果所述分布式系统服务的状态没有恢复到所述正常状态,则判断对所述分布式系统服务执行重启的次数是否达到预定次数;以及
所述重启单元,还用于在对所述分布式系统服务执行重启的次数未达到所述预定次数时,返回继续执行所述向所述分布式系统服务发送重启命令的步骤,直至所述分布式系统服务执行重启的次数达到所述预定次数,或者,所述分布式系统服务的状态恢复到所述正常状态。
9.一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器能够执行根据权利要求1至5中任一项所述的分布式系统服务异常的处理方法。
10.一种处理器,所述处理器用于运行程序,其特征在于,所述程序运行时执行权利要求1至5任一项所述的分布式系统服务异常的处理方法。
CN201810837175.6A 2018-07-26 2018-07-26 分布式系统服务异常的处理方法及装置 Pending CN110764940A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810837175.6A CN110764940A (zh) 2018-07-26 2018-07-26 分布式系统服务异常的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810837175.6A CN110764940A (zh) 2018-07-26 2018-07-26 分布式系统服务异常的处理方法及装置

Publications (1)

Publication Number Publication Date
CN110764940A true CN110764940A (zh) 2020-02-07

Family

ID=69327278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810837175.6A Pending CN110764940A (zh) 2018-07-26 2018-07-26 分布式系统服务异常的处理方法及装置

Country Status (1)

Country Link
CN (1) CN110764940A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885112A (zh) * 2020-06-24 2020-11-03 广东浪潮大数据研究有限公司 节点服务异常处理方法、装置、设备及存储介质
CN114138551A (zh) * 2021-11-02 2022-03-04 锐捷网络股份有限公司 分布式系统的监控方法、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152419A (zh) * 2013-03-08 2013-06-12 中标软件有限公司 一种云计算平台的高可用集群管理方法
CN103763155A (zh) * 2014-01-24 2014-04-30 国家电网公司 分布式云存储系统多服务心跳监测方法
US20150169718A1 (en) * 2012-01-17 2015-06-18 Oracle International Corporation System and method for supporting persistence partition discovery in a distributed data grid
CN106130778A (zh) * 2016-07-18 2016-11-16 浪潮电子信息产业股份有限公司 一种处理集群故障的方法及一种管理节点

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150169718A1 (en) * 2012-01-17 2015-06-18 Oracle International Corporation System and method for supporting persistence partition discovery in a distributed data grid
CN103152419A (zh) * 2013-03-08 2013-06-12 中标软件有限公司 一种云计算平台的高可用集群管理方法
CN103763155A (zh) * 2014-01-24 2014-04-30 国家电网公司 分布式云存储系统多服务心跳监测方法
CN106130778A (zh) * 2016-07-18 2016-11-16 浪潮电子信息产业股份有限公司 一种处理集群故障的方法及一种管理节点

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885112A (zh) * 2020-06-24 2020-11-03 广东浪潮大数据研究有限公司 节点服务异常处理方法、装置、设备及存储介质
CN114138551A (zh) * 2021-11-02 2022-03-04 锐捷网络股份有限公司 分布式系统的监控方法、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
US9146839B2 (en) Method for pre-testing software compatibility and system thereof
EP3142011A1 (en) Anomaly recovery method for virtual machine in distributed environment
CN103530200A (zh) 一种服务器热备份系统和方法
WO2018019242A1 (zh) 网站服务器的自恢复方法和自恢复系统
CN106897166B (zh) 一种移动终端及其修复方法
CN113407383B (zh) 主备系统切换方法、装置、服务器及主备系统
WO2014040458A1 (en) Systems and methods for repairing system files
CN103237118B (zh) 一种移动终端的开机启动方法、系统及移动终端
TW201621647A (zh) 作業系統更新方法
CN114911500A (zh) 终端升级方法、终端及系统
CN105867962A (zh) 系统升级的方法和装置
CN108628705B (zh) 数据库恢复方法、装置、计算机设备和存储介质
CN109558209B (zh) 一种用于虚拟机的监控方法
WO2015117356A1 (zh) 一种开机方法及通信终端
CN102073523A (zh) 实现软件版本同步的方法及装置
CN110198331B (zh) 一种同步数据的方法及系统
CN110764940A (zh) 分布式系统服务异常的处理方法及装置
CN109922014B (zh) 一种交换机冷热启动判断方法及系统
CN106204031B (zh) 卡应用处理方法及装置
WO2015021827A1 (en) Method,device and system for offline reconnection of a web application
KR102705465B1 (ko) 이상 처리 방법, 단말 기기 및 저장 매체
CN107179911B (zh) 一种重启管理引擎的方法和设备
CN108595292B (zh) 一种系统的优化方法、移动终端及计算机存储介质
CN116668268A (zh) 终端设备的网络修复方法、终端设备及存储介质
CN111382016A (zh) 测试终端与计算机的连接方法和装置

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: 20200207