[发明专利]一种异常处理方法和装置在审
申请号: | 201710001464.8 | 申请日: | 2017-01-03 |
公开(公告)号: | CN106874132A | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 陈金添 | 申请(专利权)人: | 努比亚技术有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 韩辉峰,李丹 |
地址: | 518000 广东省深圳市南山区高新区北环大道9018*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异常 处理 方法 装置 | ||
技术领域
本发明涉及计算机技术,尤指一种基于Hadoop分布式的异常处理方法和装置。
背景技术
Hadoop是由Apache基金会所开发的分布式系统基础架构。Hadoop分布式框架的核心设计是:分布式文件系统(HDFS,Hadoop Distributed File System)和映射(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。
可选地,所述获取异常的原因和位置之前,还包括:
判断所述业务处理过程运行是否失败,当判断出所述业务处理过程运行失败时将所述业务处理过程运行失败的相关信息保存到所述Hbase中;
其中,所述运行失败的相关信息包括:所述业务处理过程运行失败的开始时间、运行失败的结束时间、当前运行的任务名称、失败的状态。
可选地,当所述业务处理过程包括组件Combiner处理时,所述方法还包括:
获取所述组件Combiner处理过程中的异常的原因和位置并存储在所述Hbase中。
可选地,所述获取业务处理过程中的异常的原因和位置包括:利用打印异常信息函数PrintStackTrace()获取所述异常的原因和位置。
可选地,所述获取业务处理过程中的异常的原因和位置之后,所述将所述异常的原因和位置存储在Hadoop数据库Hbase中之前,还包括:将所述异常的原因和位置的格式转换成字符串格式。
本发明还提供一种异常处理装置,其特征在于,包括获取模块、处理模块;其中,
获取模块,用于获取业务处理过程中的异常的原因和位置;所述业务处理过程包括执行Map程序和Reduce程序;
处理模块,用于将所述异常的原因和位置存储在预先创建的Hadoop数据库Hbase中;
所述Hbase包括由行键和列簇组成的记录异常日志事件表;其中,
所述列簇包括:用于记录业务处理过程运行失败的相关信息的列簇Job、用于记录业务处理过程中Map程序运行失败的异常的原因和位置的列簇Map,以及用于记录业务处理过程中Reduce程序运行失败的异常的原因和位置的列簇Reduce。
可选地,还包括判断模块,用于:
判断出所述业务处理过程运行失败,通知所述获取模块执行获取业务处理过程中的异常的原因和位置的步骤;通知所述处理模块将所述业务处理过程运行失败的相关信息保存到所述Hbase中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于努比亚技术有限公司,未经努比亚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710001464.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:广播队列调整方法、装置和终端设备
- 下一篇:流式计算系统中计算节点的故障处理