一種用於大數據平臺的管理方法及系統與流程
2023-09-22 22:26:41 2
本發明實施例涉及大數據處理技術領域,尤其涉及一種用於大數據平臺的管理方法及系統。
背景技術:
隨著社會信息化技術的不斷提高以及網際網路技術快速普及,各個領域對海量數據處理的需求也越來越多,傳統的集中式數據處理方法已無法對海量數據進行高效處理,由此出現了分布式的大數據處理平臺(大數據平臺)。具體的,大數據平臺可理解為由多種服務組件通過業務敲定和實際數據處理需求組合構建的分布式處理平臺。
在根據大數據平臺進行數據處理時,大數據平臺上的各服務組件獨立工作但各服務組件間又相互協作,如果某個服務組件中的服務進程出現中斷或宕機,則有可能對整個數據處理過程產生影響。因此,需要對大數據平臺進行監控和預警,以使運維人員更好的運維管理大數據平臺。目前,對大數據平臺的監控和預警通常採用如下做法:分別運行一套監控系統和一套預警系統共同提供大數據平臺的穩健運行;或者,對組成大數據平臺的集群節點的物理特性進行監控,例如監控集群節點的內存、中央處理器、磁碟、輸入/輸出設備等物理設備的使用情況,然後以配置簡訊、郵件等方式進行預警。
現有的監控和預警的方法存在的問題有:1、採用上述第一種方法時,對於監控和預警兩項功能需要在大數據平臺上同時運行兩套系統,從運維管理的角度而言,運維人員需要耗費更多的時間和精力學習兩套系統的相關內容並分別實現對兩套系統的運維管理,從系統資源的角度而言,大數據平臺的伺服器將需要更大的磁碟空間、內存空間等資源提供給兩套系統運行,此外,該種方法對服務進程和網絡埠的監控比較底層,只有當服務進程掛掉或者顯示地提醒用戶該服務進程不可用時,運維人員才會進入對該服務做一些應急處理,如果此服務進程面向大量客戶進行服務,則通過上述處理手段進行服務恢復將會極大的影響用戶體驗;2、採用上述第二種方法時,僅僅是對大數據平臺硬體級別的監控和預警,並沒有實現對大數據平臺上服務組件的監控和預警,其監控和預警力度過低。
技術實現要素:
本發明實施例提供了一種用於大數據平臺的管理方法及系統,簡單高效地實現了對大數據平臺各服務組件的監控和預警。
一方面,本發明實施例提供了一種用於大數據平臺的管理方法,包括:
獲取大數據平臺上的服務組件對應的日誌信息;
檢測所述日誌信息中的日誌狀態標識;
如果所述日誌狀態標識符合預設的報警條件,則根據所述日誌狀態標識對應的日誌信息輸出所述服務組件的報警信息。
另一方面,本發明實施例提供了一種用於大數據平臺的管理系統,包括:
日誌信息獲取模塊,用於獲取大數據平臺上的服務組件對應的日誌信息;
狀態標識檢測模塊,用於檢測所述日誌信息中的日誌狀態標識;
報警信息輸出模塊,用於當所述日誌狀態標識符合預設的報警條件時,根據所述日誌狀態標識對應的日誌信息輸出所述服務組件的報警信息。
本發明實施例中提供的一種用於大數據平臺的管理方法及系統,該方法首先獲取大數據平臺上的服務組件對應的日誌信息;然後對所獲取的日誌信息的日誌狀態標識進行檢測;當日誌狀態標識符合預設報警條件時,根據日誌狀態標識對應的日誌信息就能夠輸出服務組件的報警信息。利用該方法,能夠簡單高效地實現對大數據平臺上各服務組件的實時監控和預警,精細了對大數據平臺各服務組件的管理粒度;此外,該方法不僅減少了運維管理的人力資源投入,也減少了大數據平臺所在伺服器的資源消耗;同時還進一步提升了大數據平臺的用戶體驗。
附圖說明
圖1為本發明實施例一提供的一種用於大數據平臺的管理方法的流程示意圖;
圖2為本發明實施例二提供的一種用於大數據平臺的管理方法的流程示意圖;
圖3a為本發明實施例三提供的一種用於大數據平臺的管理方法的優選實施例的流程示意圖;
圖3b為本發明實施例三提供的一種大數據平臺的框架圖;
圖4為本發明實施例四提供的一種用於大數據平臺的管理系統的結構框圖。
具體實施方式
下面結合附圖和實施例對本發明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用於解釋本發明,而非對本發明的限定。另外還需要說明的是,為了便於描述,附圖中僅示出了與本發明相關的部分而非全部結構。
實施例一
圖1為本發明實施例一提供的一種用於大數據平臺的管理方法的流程示意圖,適用於對大數據平臺上運行的各服務組件進行監控和預警的情況,該方法可以由用於大數據平臺的管理系統執行,其中該系統可由軟體和/或硬體實現,作為大數據平臺的一部分集成在大數據平臺中。
一般的,大數據平臺主要基於運行其上的至少一個服務組件實現對大數據的處理操作,示例性的,常見的大數據平臺如Hadoop分布式平臺,在Hadoop分布式平臺運行的服務組件包括Hadoop分布式文件系統(Hadoop Distributed File System,HDFS)、Hadoop數據倉庫如Hive以及分布式面向列的開源資料庫如Hbase等。如果其上的服務組件停止運行或運行錯誤,則會影響大數據的處理操作,因此需要對大數據平臺上各服務組件的工作狀態進行監控和預警。本實施例提供的用於大數據平臺的管理方法能夠實現對大數據平臺中各服務組件的監控和預警。
如圖1所示,本發明實施例一提供的一種用於大數據平臺的管理方法,包括如下操作:
S101、獲取大數據平臺上的服務組件對應的日誌信息。
一般的,用於大數據處理的大數據平臺為一個分布式平臺,且運行在大數據平臺上各服務組件均可由一個主節點和至少一個從節點組成,示例性的,如Hadoop分布式平臺上的HDFS,其主節點可以表示為NameNode,從節點可以表示為DataNode。此外,對於所述服務組件而言,其相應的主節點和從節點可分別看作一個服務進程,而服務組件的運行主要依賴於相應的服務進程,因此,可以通過監控服務組件的服務進程的運行情況來實現對服務組件的管理。
具體的,所述服務組件中的服務進程在運行過程中會產生相應的運行日誌,所述運行日誌具體可用於記錄所述服務進程的運行信息。在本實施例中,所述服務組件的日誌信息具體可看作所述服務組件中至少一個服務進程的運行日誌,由此通過獲取服務組件中至少一個服務進程的運行日誌來確定服務組件的日誌信息,並基於所述日誌信息對所述服務組件的工作狀態進行監控和預警管理。
S102、檢測所述日誌信息中的日誌狀態標識。
一般的,在大數據平臺上運行服務組件時,服務組件的服務進程所產生的運行日誌中具體描述了所述服務進程的具體運行狀態,並會進行相應的運行狀態標記。示例性的,對於運行錯誤的服務進程而言,則會在相應的運行日誌中進行錯誤標記,並記錄產生錯誤的詳細信息,又如,對於運行正常的服務進程而言,則會其運行日誌中進行正常標記,並記錄正常的運行信息。
在本實施例中,所述日誌狀態標識具體可指所述日誌信息中記錄的服務進程的運行狀態標記,用於描述服務進程的運行狀態的穩定程度。具體的,在獲取到所述服務組件對應的日誌信息後,可以對所述日誌信息中的日誌狀態標識進行檢測,來確定相應服務組件的具體工作狀態,由此實現對相應服務組件工作狀態的監控管理。
進一步的,所述日誌狀態標識包括運行錯誤標識、運行警告標識和/或運行正常標識。
在本實施例中,可以通過對日誌信息的日誌狀態標識的檢測來實現對服務組件工作狀態的監控。具體的,在檢測出所述日誌狀態標識為運行錯誤標識時,可以認為相應服務組件在運行過程中出現了錯誤運行的情況,出現錯誤的服務組件的工作狀態很不穩定,甚至有可能對大數據平臺中的其他服務組件的運行產生影響;在檢測出所述日誌狀態標識為運行警告標識時,可以認為所述服務組件在運行過程中出現了警告提示,服務組件的工作狀態存在波動,雖然不會影響大數據平臺其他服務組件的運行,但有可能會對相應服務組件的其他服務進程產生影響;在檢測出所述日誌狀態標識為運行正常標識時,可以認為所述服務組件為正常運行,工作狀態穩定,此時不會影響自身或其他服務組件的運行。
S103、如果所述日誌狀態標識符合預設的報警條件,則根據所述日誌狀態標識對應的日誌信息輸出所述服務組件的報警信息。
在本實施例中,在基於上述步驟實現對相應服務組件工作狀態的監控管理後,可以進一步對所述服務組件進行預警管理。具體的,本實施例可以對符合報警條件的服務組件基於相應的日誌信息確定報警信息,並將報警信息以設定的方式輸出給大數據平臺的運維管理人員,以實現對所述服務組件的預警管理。
在本實施例中,所述報警條件具體可理解為設定的用於確定是否進行相應服務組件報警信息輸出的判定條件。一般地,所述報警條件可以為運行錯誤標識、運行警告標識以及運行正常標識中的一種或幾種,可以由運維人員基於大數據平臺的實際工作需求預先設定。示例性的,如果服務組件中服務進程運行錯誤時會對大數據平臺的處理操作產生影響,就可以將日誌狀態標識中的運行錯誤標識設定為報警條件;又如,當對數據處理要求較高時,除了運行錯誤標識還需要將日誌狀態標識中的運行警告標識也作為報警條件。
在本實施例中,當確定所述日誌信息中的日誌狀態標識符合所述報警條件時,可以對所述日誌信息的具體內容進行解析,由此形成與所述日誌信息對應服務組件的報警信息,並輸出所述報警信息。具體的,可以基於設定的解析規則或通過相應的機器學習算法對所述日誌信息的具體內容進行解析,所形成的報警信息中可以包括所述日誌信息的關鍵詞、所述日誌信息對應的報警級別以及對所述日誌信息進行報警的具體原因等;最終可以基於郵件或簡訊息的輸出方式將所述報警信息輸出給運維人員,實現服務組件的預警管理。
本發明實施例一提供的一種用於大數據平臺的管理方法,首先獲取大數據平臺上的服務組件對應的日誌信息;然後對所獲取的日誌信息的日誌狀態標識進行檢測;當日誌狀態標識符合預設報警條件時,根據日誌狀態標識對應的日誌信息就能夠輸出服務組件的報警信息。利用該方法,能夠簡單高效地實現對大數據平臺上各服務組件的實時監控和預警,精細了對大數據平臺各服務組件的管理粒度;此外,該方法不僅減少了運維管理的人力資源投入,也減少了大數據平臺所在伺服器的資源消耗;同時還進一步提升了大數據平臺的用戶體驗。
實施例二
圖2為本發明實施例二提供的一種用於大數據平臺的管理方法的流程示意圖。本發明實施例以上述實施例為基礎進行優化,在本實施例中,還優化包括了:如果所述日誌狀態標識不符合預設的報警條件,則輸出所述服務組件的狀態正常信息。
進一步的,本實施例將獲取大數據平臺上的服務組件對應的日誌信息具體化為:獲取所述大數據平臺上服務組件中的至少一個服務進程對應的運行日誌;將所述運行日誌存儲到所述大數據平臺的分布式文件系統的指定目錄文件中,並將所述指定目錄文件中的運行日誌作為所述服務組件的日誌信息。
進一步的,本實施例還將根據所述日誌狀態標識對應的日誌信息輸出所述服務組件的報警信息具體化為:將所述日誌狀態標識對應的日誌信息按照預設的基礎診斷庫的信息格式進行解析,形成報警日誌信息;根據所述報警日誌信息查找所述基礎診斷庫,確定所述服務組件的報警信息並輸出。
如圖2所示,本發明實施例二提供的一種用於大數據平臺的管理方法,具體包括如下操作:
S201、獲取所述大數據平臺上服務組件中的至少一個服務進程對應的運行日誌。
在本實施例中,所述服務組件中相應服務進程的運行日誌是基於服務進程的運行實時產生的,因此,可以在所述服務組件相應服務進程的運行過程中實時獲取對應的運行日誌。需要說明的是,所述服務組件中可能存在一個或多個服務進程,本實施例可以基於所述服務組件中至少一個服務進程的運行日誌來確定所述服務組件的日誌信息。一般的,為了保證對所述服務組件監控和預警的準確性,可以優選地獲取所述服務組件中所有服務進程對應的運行日誌,並基於所述運行日誌確定相應的日誌信息。
S202、將所述運行日誌存儲到所述大數據平臺的分布式文件系統的指定目錄文件中,並將所述指定目錄文件中的運行日誌作為所述服務組件的日誌信息。
在本實施例中,可以設定相應的管理周期,以一定的管理周期對大數據平臺的服務組件進行監控和預警管理操作。由於所述服務組件中服務進程是實時獲取的,因此,本實施例需要對所獲取運行日誌進行存儲,具體的,可以將所述運行日誌存儲到大數據平臺的分布式文件系統的指定目錄中。
在本實施例中,所述指定目錄相當於存儲所述運行日誌所需的存儲路徑,本實施例可以根據大數據平臺中存在的各服務組件在分布式文件系統中設定相應的存儲路徑,其中,大數據中的分布式文件系統具體用於分布式存儲大數據處理時所需的各種數據信息。在將所述服務組件對應的運行日誌存儲到指定目錄後,可將各指定目錄中的運行日誌作為相應服務組件的日誌信息,所述日誌信息用於對所述服務組件的監控和預警管理。
S203、如果所述日誌狀態標識符合預設的報警條件,則將所述日誌狀態標識對應的日誌信息按照預設的基礎診斷庫的信息格式進行解析,形成報警日誌信息,之後執行步驟S204。
在本實施例中,所述日誌狀態標識包括運行錯誤標識、運行警告標識和/或運行正常標識,則可設定所述報警條件為所述運行錯誤標識、運行警告標識以及運行正常標識中的一種或幾種,優選的,本實施例設定所述報警條件為運行錯誤標識。在本實施例中,所述基礎診斷庫具體可理解為包含大數據平臺中服務組件運行時常見錯誤信息的數據信息庫,一般可以預先設定在大數據平臺中,可以理解的是初始的基礎診斷庫中的數據信息可以為空,之後可在對大數據平臺的服務組件進行管理操作時逐漸進行數據信息積累。
在本實施例中,在確定所述日誌狀態標識符合所述報警條件後,可以基於所述日誌狀態標識對應的日誌信息進行報警信息的輸出。具體的,首先需要對所述日誌狀態標識對應的日誌信息的具體內容進行解析,本實施例優選的基於所述基礎診斷庫中所存儲數據信息對應的信息格式對所述日誌信息進行解析,並將解析後的信息內容記為報警日誌信息,其中,本實施例將所述基礎診斷庫中的信息格式優選為類似[A,B]的二元字符組形式,且對二元字符組中A和B的表示形式沒有具體限定。
進一步的,所述將所述日誌狀態標識對應的日誌信息按照預設的基礎診斷庫的信息格式進行解析,形成報警日誌信息包括:從所述日誌狀態標識對應的日誌信息中獲取至少一個關鍵詞;根據所述至少一個關鍵詞確定所述日誌信息對應的報警級別;根據預設的基礎診斷庫的信息格式創建所述日誌信息的二元字符組,形成所述日誌信息的報警日誌信息,其中,所述二元字符組包括第一元素和第二元素,所述第一元素包括所述至少一個關鍵詞和所述報警級別,所述第二元素包括與所述日誌狀態標識對應的日誌信息。
在本實施例中,當所述日誌狀態標識符合所述報警信息後,可以將所述日誌狀態標識對應的日誌信息看作一段具體文字信息,之後基於設定的語義解析規則或者基於設定的機器學習算法從所述具體文字信息中解析出所述日誌信息的至少一個關鍵詞,同時還可以基於所述至少一個關鍵詞以及預先設定的報警級別匹配表確定所述日誌信息對應的報警級別,其中,所述報警級別匹配表具體可以是技術人員預先設定的關鍵詞與報警級別的關係表,所述關係表可以基於歷史經驗信息確定。
在本實施例中,在確定所述基礎診斷庫的信息格式為二元字符組之後,就可以創建所述日誌信息的二元字符組[C,D],且所述二元字符組相當於所述日誌信息的報警日誌信息,其中,元素C表示所述二元字符組的第一元素,元素D表示所述二元字符組的第二元素,具體的,所述第一元素具體包括了所述日誌信息的至少一個關鍵詞以及對應的報警級別,所述第二元素具體包括了所述日誌信息的具體內容。
S204、根據所述報警日誌信息查找所述基礎診斷庫,確定所述服務組件的報警信息並輸出。
在本實施例中,基於步驟S203可以確定,所述日誌信息的報警日誌信息為二元字符組的形式,所述基礎診斷庫也為二元字符組形式,因此可以在所述基礎診斷庫中對所述報警日誌信息進行查找匹配,並可以通過匹配結果確定要輸出的報警信息。
進一步的,所述根據所述報警日誌信息查找所述基礎診斷庫,確定所述服務組件的報警信息並輸出包括:確定所述報警日誌信息中的第一元素是否與所述基礎診斷庫中二元字符組的第一元素相匹配;如果匹配,則將所述基礎診斷庫中對應的二元字符組作為報警信息輸出;如果不匹配,則將所述報警日誌信息中的報警級別修改為設定標記值,並將所述報警日誌信息作為報警信息輸出。
在本實施例中,當所述報警日誌信息中的第一元素與所述基礎診斷庫中二元字符組的第一元素相匹配時,表明所述基礎診斷庫中存在與該日誌信息相同的報警信息,此時可以直接將所述基礎診斷庫中對應的二元字符組作為報警信息以郵件或簡訊的形式輸出給運維人員。
在本實施例中,當所述報警日誌信息中的第一元素與所述基礎診斷庫中二元字符組的第一元素不相匹配時,表明所述基礎診斷庫中不存在與該日誌信息相同的報警信息,此時可以將所述報警日誌信息中的報警級別修改為設定標記值,以引起所述運維人員的注意,之後將所述報警日誌信息作為報警信息輸出給運維人員,以時運維人員及時對所述報警信息進行處理。其中,所述設定標記值可以由技術人員自行設定。
S205、如果所述日誌狀態標識不符合預設的報警條件,則輸出所述服務組件的狀態正常信息。
在本實施例中,還可以對不符合報警條件的服務組件也進行信息輸出,此時輸出的是所述服務組件的狀態正常信息。
基於上述步驟S201至步驟S205的操作,實現了對大數據平臺中服務組件的監控和預警管理,並且在進行預警管理時,所輸出的報警信息中包含了服務組件的具體出錯原因,與現有的大數據平臺的管理方法相比,為運維人員提供了更精確的報警信息,使得運維人員能夠快速的確定出錯原因並及時解決,很大程度節省了運維人員處理時間。此外,需要說明的是,在基於本實施例提供的管理方法對服務組件進行管理時,所述日誌信息均存放於所述分布式文件系統的指定目錄下,隨著時間的累計所述指定目錄下運行日誌的信息量將會越來越大,因此需要對所述指定目錄下的運行日誌進行定期清理,如,運行日誌中均包括了相應的運行時刻,可以基於運行時刻設定清理條件,當達到清理條件時就可以刪除或移除所述運行日誌,以確保指定目錄下運行日誌時效性。
本發明實施例二提供的一種用於大數據平臺的管理方法,具體化了服務組件日誌信息的獲取過程,同時也具體化了服務組件的報警信息的確定過程。利用該方法,簡單高效地基於日誌信息實現了對大數據平臺上各服務組件的實時監控和預警,精細了對大數據平臺各服務組件的管理粒度;不僅減少了運維管理的人力資源投入,同時也減少了大數據平臺所在伺服器的資源消耗;此外,還進一步提升了大數據平臺的用戶體驗。
進一步的,在上述優化的基礎上,所述報警級別包括可恢復級別和不可恢復級別;相應的,本發明實施例提供的用於大數據平臺的管理方法,在確定所述報警日誌信息中的第一元素與所述基礎診斷庫中二元字符組的第一元素相匹配之後,還包括:如果所述報警級別為可恢復級別,則重啟所述報警日誌信息對應的服務組件;如果所述報警級別為不可恢復級別,則獲取運維人員編輯的第一二元字符組,並將所述基礎診斷庫中對應的二元字符組替換為所述第一二元字符組。此外,在確定所述報警日誌信息中的第一元素與所述基礎診斷庫中二元字符組的第一元素不匹配之後,該方法還包括:獲取運維人員編輯的第二二元字符組,並將所述第二二元字符組寫入所述基礎診斷庫。
在本實施例中,本實施例二的上述操作已經能夠實現服務組件的監控和預警管理,在此基礎上,本實施例提供的管理方法,還可以對符合設定條件的報警信息對應的服務組件在沒有人為幹預的情況下進行自恢復操作。
具體的,首先可以將所述服務組件所對應報警日誌信息中的報警級別確定為可恢復級別和不可恢復級別;之後,當所述報警日誌信息中的第一元素與所述基礎診斷庫中二元字符組的第一元素相匹配時,如果所述報警日誌信息中的報警級別為可恢復級別,則無需人為幹預可以直接對所述服務組件進行自啟動,由此不僅實現了服務組件的監控和報警,還實現了對服務組件的自恢復,與現有的管理方法相比,本實施例提供的管理方法更便於運維人員對大數據平臺的管理;如果所述報警日誌信息中的報警級別為不可恢復級別,則運維人員可以在獲取所述服務組件的報警信息後,對所述服務組件進行人為處理,並可以重新編輯所述報警信息形成第一二元字符組,最終可以獲取所述第一二元字符組並用所述第一二元字符組替換所述基礎診斷庫中對應的二元字符組,以實現基礎診斷庫的信息更新,便於後續使用。
此外,當所述報警日誌信息中的第一元素與所述基礎診斷庫中二元字符組的第一元素不匹配時,運維人員也可以在獲取所述服務組件的報警信息後,對所述服務組件進行人為處理,並可以重新編輯所述報警信息形成第二二元字符組,最終可以獲取所述第二二元字符組並存放到所述基礎診斷庫中,進一步實現基礎診斷庫的信息更新,便於後續使用。
實施例三
圖3a為本發明實施例三提供的一種用於大數據平臺的管理方法的優選實施例的流程示意圖。圖3b為本發明實施例三提供的一種大數據平臺的框架圖,本實施例以圖3b所示的大數據平臺作為應用背景,如圖3b所示的,所述大數據平臺中包含的服務組件有:分布式應用協調服務如Zeekooper、跨平臺數據信息傳遞工具如Sqoop、分布式分析引擎如Kylin、通用並行框架如Spark、大數據集運算模型如MapReduce、分布式資源管理器如Yarn、分布式文件系統如HDFS、分布式數據倉庫如Hive以及分布式面向列的開源資料庫如Hbase等。基於本實施例提供的管理方法,可以實現對上述各服務組件的監控和預警管理。
如圖3a所示,本發明實施例三提供的一種用於大數據平臺的管理方法的優選實施例,具體包括如下操作:
S301、獲取大數據平臺中各服務組件的日誌信息。
需要說明的是,本實施例以數據流的形式對所述大數據平臺中各服務組件進行監控和預警管理。
示例性的,獲取大數據平臺中各服務組件中相應服務進程的運行日誌,並存放於各服務組件在分布式文件系統中對應的日誌信息目錄下,作為各服務組件的日誌信息。如,基於存儲路徑log_model/hbase_log存儲Hbase服務組件中的HMaster服務進程和/或至少一個HRegionServer服務進程的運行日誌。
S302、對所述各服務組件的日誌信息中日誌狀態標識進行檢測。
示例性的,所述日誌狀態標識包括運行錯誤標識、運行警告標識和/或運行正常標識,由此實現對各服務組件中日誌信息的監控操作。
S303、確定各服務組件中日誌信息的日誌狀態標識是否符合報警條件,若是,則執行步驟S304;若否,則執行步驟S309。
示例性的,確定所述報警條件為運行錯誤標識。
S304、根據所述服務組件中符合報警條件的日誌信息獲取所述服務組件對應的報警日誌信息。
示例性的,假設在Hbase對應的目錄中獲取到一個符合報警條件的日誌信息,且所述日誌信息的內容表示為:Caused by:org.apache.hadoop.hive.metastore.api.MetaException:Could not connect to meta store using any of the URIs provided.Most recent failure:org.apache.thrift.transport.TTransportException:java.net.ConnectException:Connection refused。
示例性的,所對應報警日誌信息的獲取過程為:確定預設基礎診斷庫中的信息格式為[key,value]的鍵值對格式,基於設定的解釋規則解析所述日誌信息,可確定所述日誌信息中的關鍵詞有hive,metastore以及connect;基於上述關鍵詞可確定所述日誌信息的報警級別為1。因此,所述報警日誌信息中的key值表示為((hive,metastore,connect),1),所述報警日誌信息中的value值表示為上述日誌信息的所有內容,因此,所述日誌信息對應的報警日誌信息表示為[((hive,metastore,connect),1),String],其中,String表示上述日誌信息的所有內容。
S305、確定所述服務組件對應的報警日誌信息是否與預設的基礎診斷庫中的數據信息相匹配,若是,則執行步驟S306或步驟S307;若否,則執行步驟S308。
示例性的,可以確定所述基礎診斷庫中的key值是否包含有((hive,metastore,connect),1),若有,則說明相匹配,可以執行步驟S306或步驟S307;若無,則說明不匹配,需要執行步驟S308。
S306、如果所述服務組件對應報警日誌信息中的報警級別為可恢復級別,則重啟所述報警日誌信息對應的服務組件,並輸出所述服務組件的報警信息。
示例性的,所輸出的報警信息為基礎診斷庫中相匹配的[key,value]的鍵值對信息。
S307、如果所述服務組件對應報警日誌信息中的報警級別為不可恢復級別,則輸出所述服務組件的報警信息,並獲取運維人員編輯的第一報警信息,將所述基礎診斷庫中相應的報警日誌信息替換為所述新報警信息。
示例性的,所輸出的報警信息為基礎診斷庫中相匹配的[key,value]的鍵值對信息,但是,運維人員根據輸出的報警信息對服務組件進行人為處理,並再次對報警信息重新編輯形成第一報警信息,且進一步將所述基礎診斷庫中相應的報警日誌信息替換為所述新報警信息,以便後續使用。
S308、修改所述服務組件對應報警日誌信息中的報警級別,將所述報警日誌信息作為報警信息輸出,並獲取運維人員編輯的第二報警信息,並將所述第二報警信息寫入所述基礎診斷庫。
示例性的,首先將報警日誌信息中的報警級別修改為設定標記值,以提醒運維人員注意所述報警信息,運維人員根據輸出的報警信息對服務組件進行人為處理,並再次對報警信息重新編輯形成第二報警信息,且進一步將所述第二報警信息更新到基礎診斷庫中,以便後續使用。
S309、輸出所述服務組件的狀態正常信息。
本發明實施例三提供了一種用於大數據平臺的管理方法的優選實施例,由此簡單高效地基於日誌信息實現了對大數據平臺上各服務組件的實時監控和預警,精細了對大數據平臺各服務組件的管理粒度;不僅減少了運維管理的人力資源投入,同時也減少了大數據平臺所在伺服器的資源消耗;此外,還進一步提升了大數據平臺的用戶體驗。
實施例四
圖4為本發明實施例四提供的一種用於大數據平臺的管理系統的結構框圖。該管理系統適用於對大數據平臺上運行的各服務組件進行監控和預警的情況,可由軟體和/或硬體實現,作為大數據平臺的一部分集成在大數據平臺中。如圖4所示,該管理系統包括:日誌信息獲取模塊41、狀態標識檢測模塊42以及報警信息輸出模塊43。
其中,日誌信息獲取模塊41,用於獲取大數據平臺上的服務組件對應的日誌信息。
狀態標識檢測模塊42,用於檢測所述日誌信息中的日誌狀態標識。
報警信息輸出模塊43,用於當所述日誌狀態標識符合預設的報警條件時,根據所述日誌狀態標識對應的日誌信息輸出所述服務組件的報警信息。
在本實施例中,該管理系統首先通過日誌信息獲取模塊41獲取大數據平臺上的服務組件對應的日誌信息;然後通過狀態標識檢測模塊42檢測所述日誌信息中的日誌狀態標識;最後通過報警信息輸出模塊43在所述日誌狀態標識符合預設的報警條件時,根據所述日誌狀態標識對應的日誌信息輸出所述服務組件的報警信息。
本發明實施例四提供的一種用於大數據平臺的管理系統,能夠簡單高效地實現對大數據平臺上各服務組件的實時監控和預警,精細了對大數據平臺各服務組件的管理粒度;此外,該方法不僅減少了運維管理的人力資源投入,也減少了大數據平臺所在伺服器的資源消耗;同時還進一步提升了大數據平臺的用戶體驗。
進一步的,該管理系統還包括:正常信息輸出模塊44,用於當所述日誌狀態標識不符合預設的報警條件時,輸出所述服務組件的狀態正常信息。
在上述實施例的基礎上,所述日誌信息獲取模塊41具體用於:
獲取所述大數據平臺上服務組件中的至少一個服務進程對應的運行日誌;將所述運行日誌存儲到所述大數據平臺的分布式文件系統的指定目錄文件中,並將所述指定目錄文件中的運行日誌作為所述服務組件的日誌信息。
進一步的,所述報警信息輸出模塊43包括:
報警日誌確定單元,用於當所述日誌狀態標識符合預設的報警條件時,將所述日誌狀態標識對應的日誌信息按照預設的基礎診斷庫的信息格式進行解析,形成報警日誌信息;報警信息確定單元,用於根據所述報警日誌信息查找所述基礎診斷庫,確定所述服務組件的報警信息並輸出。
在上述優化的基礎上,所述報警日誌確定單元具體用於:
從所述日誌狀態標識對應的日誌信息中獲取至少一個關鍵詞;根據所述至少一個關鍵詞確定所述日誌信息對應的報警級別;根據預設的基礎診斷庫的信息格式創建所述日誌信息的二元字符組,形成所述日誌信息的報警日誌信息,其中,所述二元字符組包括第一元素和第二元素,所述第一元素包括所述至少一個關鍵詞和所述報警級別,所述第二元素包括與所述日誌狀態標識對應的日誌信息。
進一步的,所述報警信息確定單元具體用於:
確定所述報警日誌信息中的第一元素是否與所述基礎診斷庫中二元字符組的第一元素相匹配;如果匹配,則將所述基礎診斷庫中對應的二元字符組作為報警信息輸出;如果不匹配,則將所述報警日誌信息中的報警級別修改為設定標記值,並將所述報警日誌信息作為報警信息輸出。
在上述實施例的基礎上,所述報警級別包括可恢復級別和不可恢復級別;相應的,所述管理系統還包括:第一報警處理模塊45,具體用於:
在確定所述報警日誌信息中的第一元素與所述基礎診斷庫中二元字符組的第一元素相匹配之後,當所述報警級別為可恢復級別時,重啟所述報警日誌信息對應的服務組件;當所述報警級別為不可恢復級別時,獲取運維人員編輯的第一二元字符組,並將所述基礎診斷庫中對應的二元字符組替換為所述第一二元字符組。
進一步的,所述管理系統系統還包括:
第二報警處理模塊46,用於在確定所述報警日誌信息中的第一元素與所述基礎診斷庫中二元字符組的第一元素不匹配之後,獲取運維人員編輯的第二二元字符組,並將所述第二二元字符組寫入所述基礎診斷庫。
在上述實施例的基礎上,所述日誌狀態標識包括運行錯誤標識、運行警告標識和/或運行正常標識。
注意,上述僅為本發明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發明不限於這裡所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發明的保護範圍。因此,雖然通過以上實施例對本發明進行了較為詳細的說明,但是本發明不僅僅限於以上實施例,在不脫離本發明構思的情況下,還可以包括更多其他等效實施例,而本發明的範圍由所附的權利要求範圍決定。