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...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。