The invention realizes an exception handling method and device, which comprises the following steps: obtaining the cause and position of an exception occurring in the distributed service processing process and storing the reason and position of the abnormal occurrence in the Hadoop database Hbase. Through the technical scheme provided by the invention, the causes and positions of the abnormal occurrence of the distributed system are obtained, and the prompt processing of the abnormality is ensured, so that the program debugging and the system maintenance can be carried out in the later stage.
【技术实现步骤摘要】
一种异常处理方法和装置
本专利技术涉及计算机技术,尤指一种基于Hadoop分布式的异常处理方法和装置。
技术介绍
Hadoop是由Apache基金会所开发的分布式系统基础架构。Hadoop分布式框架的核心设计是:分布式文件系统(HDFS,HadoopDistributedFileSystem)和映射(Map)/规约(Reduce)。其中,HDFS为海量的数据提供了存储,Map/Reduce为海量的数据提供了计算。Map/Reduce框架是一个简易的分布式计算软件框架,基于Hadoop分布式架构编写的应用程序能够运行在由上千个商用机器组成的大型分布式集群系统上,并且能够以一种可靠容错性的方式并行处理超过T级别的数据集。Map/Reduce框架由一个单独的主节点(Master)和多个集群从节点(Slave)共同组成。针对Hadoop分布式的实现,现有的系统使用集群完全分布式配置模式,在完全分布式中,Master负责调度构成一个作业的所有任务并分布到不同的Slave上,Master监控Slave的执行,并重新执行失败的任务,Slave仅负责执行由Master指派的任务。Hadoop分布式系统中,由于Slave分布在不同的机器上,且分布在未知的线程上,当不同的Slave执行Map或者Reduce产生异常时,相关技术中通常利用异常信息获取函数e.getMessage()对异常进行处理,但是该函数只能获取异常的原因,但是,由于不知道异常的具体位置,导致不能及时处理异常,影响了系统运行和维护。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种异常处理方法和装置,能够 ...
【技术保护点】
一种异常处理方法,其特征在于,包括:获取业务处理过程中发生异常的原因和位置;所述业务处理过程包括执行Map程序和Reduce程序;将所述获取的原因和位置存储在预先创建的Hadoop数据库Hbase中;所述Hbase包括由行键和列簇组成的记录异常日志事件表;其中,所述列簇包括:用于记录业务处理过程运行失败的相关信息的列簇Job、用于记录业务处理过程中Map程序运行失败的异常的原因和位置的列簇Map,以及用于记录业务处理过程中Reduce程序运行失败的异常的原因和位置的列簇Reduce。
【技术特征摘要】
1.一种异常处理方法,其特征在于,包括:获取业务处理过程中发生异常的原因和位置;所述业务处理过程包括执行Map程序和Reduce程序;将所述获取的原因和位置存储在预先创建的Hadoop数据库Hbase中;所述Hbase包括由行键和列簇组成的记录异常日志事件表;其中,所述列簇包括:用于记录业务处理过程运行失败的相关信息的列簇Job、用于记录业务处理过程中Map程序运行失败的异常的原因和位置的列簇Map,以及用于记录业务处理过程中Reduce程序运行失败的异常的原因和位置的列簇Reduce。2.根据权利要求1所述的方法,其特征在于,所述获取异常的原因和位置之前,还包括:判断所述业务处理过程运行是否失败,当判断出所述业务处理过程运行失败时,将所述业务处理过程运行失败的相关信息保存到所述Hbase中;其中,所述运行失败的相关信息包括:所述业务处理过程运行失败的开始时间、运行失败的结束时间、当前运行的任务名称、失败的状态。3.根据权利要求1所述的方法,其特征在于:当所述业务处理过程包括组件Combiner处理时,所述方法还包括:获取所述组件Combiner处理过程中的异常的原因和位置并存储在所述Hbase中。4.根据权利要求1、2或3所述的方法,其特征在于,所述获取业务处理过程中的异常的原因和位置包括:利用打印异常信息函数PrintStackTrace()获取所述异常的原因和位置。5.根据权利要求1、2或3所述的方法,其特征在于,所述获取业务处理过程中的异常的原因和位置之后,所述将所述异常的原因和位置存储在Hadoop数据库Hbase中之前,还包括:将所述异常的原因和位置的格式转换成字符串格式。6...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。