一種分布式hadoop集群故障自動診斷修復(fù)系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種集群故障自動診斷修復(fù)系統(tǒng),尤其涉及一種分布式hadoop集群故障自動診斷修復(fù)系統(tǒng)。
【背景技術(shù)】
[0002]業(yè)界沒有對hadoop集群監(jiān)控發(fā)現(xiàn)問題后自動分析解決的方案,目前關(guān)于hadoop集群故障解決方法為預(yù)先配置好關(guān)鍵的運(yùn)維監(jiān)控指標(biāo),對hadoop集群及相關(guān)項(xiàng)目健康進(jìn)行檢查,同時對作業(yè)和任務(wù)執(zhí)行進(jìn)行分析,將監(jiān)控信息暴露出來,維護(hù)人員登錄web平臺查看存在問題的節(jié)點(diǎn)及性能,并登錄節(jié)點(diǎn)分析日志,修復(fù)集群。
[0003]現(xiàn)有技術(shù)的主要缺點(diǎn)如下:1、不能實(shí)現(xiàn)故障實(shí)時告警,配置好的每個監(jiān)控指標(biāo)需要維護(hù)人員登錄到web平臺查看有問題的節(jié)點(diǎn);2、集群監(jiān)控只能查看當(dāng)前的監(jiān)控?cái)?shù)據(jù),沒有存儲和歷史查詢功能,無法進(jìn)行監(jiān)控?cái)?shù)據(jù)分析和建立預(yù)測模型;3、不能對監(jiān)控?cái)?shù)據(jù)進(jìn)行自動分析及根據(jù)分析結(jié)果進(jìn)行自動化修復(fù),需要人工登錄到問題節(jié)點(diǎn)分析錯誤日志,根據(jù)經(jīng)驗(yàn)進(jìn)行故障解決。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題是提供一種分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),能夠輕松有效地控制hadoop集群,使維護(hù)變得更加簡單,性能數(shù)據(jù)、節(jié)點(diǎn)狀態(tài)更加清晰明確,分析、發(fā)現(xiàn)、解決問題更加快速。
[0005]本發(fā)明為解決上述技術(shù)問題而采用的技術(shù)方案是提供一種分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),包括:
[0006]集群文件系統(tǒng)監(jiān)控模塊:采集獲取集群節(jié)點(diǎn)信息以及數(shù)據(jù)庫文件;
[0007]作業(yè)任務(wù)監(jiān)控模塊:采集作業(yè)和任務(wù)的信息,并對作業(yè)任務(wù)進(jìn)行控制管理,包括作業(yè)的開啟和停止,對指定作業(yè)進(jìn)行周期采樣,以及對任務(wù)優(yōu)先級進(jìn)行管理;
[0008]物理節(jié)點(diǎn)監(jiān)控模塊:監(jiān)控每個物理節(jié)點(diǎn)的資源消耗信息;
[0009]數(shù)據(jù)存儲分析處理模塊:對來自所述集群文件系統(tǒng)監(jiān)控模塊、作業(yè)任務(wù)監(jiān)控模塊和物理節(jié)點(diǎn)監(jiān)控模塊的監(jiān)控?cái)?shù)據(jù)進(jìn)行結(jié)構(gòu)化、統(tǒng)一化后存儲到數(shù)據(jù)庫;設(shè)定監(jiān)控告警規(guī)則,預(yù)先配置告警ID、級別及原因;
[0010]自動修復(fù)模塊:預(yù)先定義配置各類常見告警故障,并為每個告警故障定制預(yù)處理腳本,當(dāng)所述數(shù)據(jù)存儲分析處理模塊監(jiān)控巡檢到故障發(fā)生時,對當(dāng)前發(fā)生的故障與預(yù)先定義配置的告警故障進(jìn)行匹配,并調(diào)用相應(yīng)的預(yù)處理腳本完成故障的自動處理。
[0011 ] 上述的分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),其中,所述集群文件系統(tǒng)監(jiān)控模塊包括:瀏覽文件記錄,namenode日志記錄,namenode運(yùn)行情況、集群配置容量、DFS占用容量、非DFS占用容量、DFS的可使用容量、DFS已使用百分比、DFS可使用百分比、活節(jié)點(diǎn)數(shù)、死節(jié)點(diǎn)數(shù)、namenode的存儲目錄及類型狀態(tài)。
[0012]上述的分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),其中,所述集群文件系統(tǒng)監(jiān)控模塊包括:獲取HDFS的實(shí)時數(shù)據(jù)和歷史狀態(tài),根據(jù)HDFS信息瀏覽和定位相關(guān)文件,以及監(jiān)控關(guān)閉或者打開所述相關(guān)文件時,各個磁盤已經(jīng)使用和各個磁盤的總?cè)萘浚S嗳萘?,文件名稱和數(shù)目,以及文件的使用情況和歷程。
[0013]上述的分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),其中,所述作業(yè)任務(wù)監(jiān)控模塊控制集群任務(wù)概要信息,堆的大小,所占的比例,Map任務(wù)數(shù),Reduce任務(wù)數(shù)以及各個節(jié)點(diǎn)上的任務(wù)數(shù)量值。
[0014]上述的分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),其中,所述作業(yè)任務(wù)監(jiān)控模塊實(shí)時查看作業(yè)的狀態(tài),查詢整個作業(yè)從開始工作到結(jié)束工作耗費(fèi)的時間總和,對與指定任務(wù)的作業(yè)相關(guān)信息,顯示完成的所有進(jìn)度、總共要進(jìn)行的任務(wù)總數(shù),預(yù)計(jì)需要完成的任務(wù)數(shù)量,當(dāng)前正在運(yùn)行的任務(wù)數(shù)量、到目前為止已經(jīng)完成,沒有成功運(yùn)行和已經(jīng)終止的任務(wù)。
[0015]上述的分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),其中,所述作業(yè)任務(wù)監(jiān)控模塊實(shí)時查看任務(wù)的信息,包括任務(wù)的狀態(tài)、運(yùn)行任務(wù)的開始和結(jié)束時間,任務(wù)的運(yùn)行速度及任務(wù)所消耗的時間,記錄整個任務(wù)運(yùn)行日志,統(tǒng)計(jì)任務(wù)數(shù)目和條目。
[0016]上述的分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),其中,所述物理節(jié)點(diǎn)監(jiān)控模塊對hadoop集群中全部物理機(jī)進(jìn)行分組,監(jiān)控每個物理節(jié)點(diǎn)平均內(nèi)存和CPU負(fù)載,并對物理節(jié)點(diǎn)之間監(jiān)控信息共享。
[0017]上述的分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),其中,所述數(shù)據(jù)存儲分析處理模塊包括:設(shè)置熱點(diǎn)問題告警,對熱點(diǎn)問題進(jìn)行優(yōu)先監(jiān)控,同時建立預(yù)測模型,對故障進(jìn)行預(yù)測。
[0018]上述的分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),其中,所述數(shù)據(jù)存儲分析處理模塊對海量數(shù)據(jù)進(jìn)行抽取、轉(zhuǎn)換、分類和聚類、設(shè)定集群告警相關(guān)性,并根據(jù)關(guān)聯(lián)規(guī)則對監(jiān)控?cái)?shù)據(jù)進(jìn)行關(guān)聯(lián)分析,定位故障所在。
[0019]上述的分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),其中,還包括設(shè)置WEB界面對所述集群文件系統(tǒng)監(jiān)控模塊、作業(yè)任務(wù)監(jiān)控模塊、物理節(jié)點(diǎn)監(jiān)控模塊、數(shù)據(jù)存儲分析處理模塊以及自動修復(fù)模塊的采集監(jiān)控過程進(jìn)行可視化展示。
[0020]本發(fā)明對比現(xiàn)有技術(shù)有如下的有益效果:本發(fā)明提供的分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),通過對集群健康指標(biāo)、作業(yè)任務(wù)進(jìn)行監(jiān)控,進(jìn)行智能分析預(yù)警,讓管理員實(shí)時清楚節(jié)點(diǎn)狀態(tài)、并準(zhǔn)確發(fā)現(xiàn)節(jié)點(diǎn)上出現(xiàn)了什么問題,解決故障不能實(shí)時告警的缺陷;并能夠定義配置好告警選項(xiàng)及相應(yīng)解決辦法,對監(jiān)控告警數(shù)據(jù)進(jìn)行自動化修復(fù)。此外,本發(fā)明能夠存儲集群監(jiān)控?cái)?shù)據(jù),建立熱點(diǎn)事件進(jìn)行分析和監(jiān)控,同時根據(jù)監(jiān)控?cái)?shù)據(jù)建立預(yù)測模型,可以對故障進(jìn)行預(yù)測,解決監(jiān)控告警數(shù)據(jù)不能進(jìn)行智能分析的缺陷。
【附圖說明】
[0021]圖1為本發(fā)明分布式hadoop集群故障自動診斷修復(fù)系統(tǒng)架構(gòu)示意圖。
【具體實(shí)施方式】
[0022]下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的描述。
[0023]圖1為本發(fā)明分布式hadoop集群故障自動診斷修復(fù)系統(tǒng)架構(gòu)示意圖。
[0024]請參見圖1,本發(fā)明提供的分布式hadoop集群故障自動診斷修復(fù)系統(tǒng),采用集群監(jiān)控模塊分別對集群文件系統(tǒng)、作業(yè)任務(wù)和物理節(jié)點(diǎn)分別進(jìn)行監(jiān)控,數(shù)據(jù)庫和數(shù)據(jù)分析模塊構(gòu)成數(shù)據(jù)存儲分析處理模塊,從而形成集群文件系統(tǒng)監(jiān)控模塊、作業(yè)任務(wù)監(jiān)控模塊、數(shù)據(jù)存儲分析處理模塊和自動修復(fù)模塊共五個模塊,實(shí)現(xiàn)這五個小模塊并將其在web中進(jìn)行展現(xiàn)和管理,從而組成hadoop自動化監(jiān)控運(yùn)維平臺,能夠進(jìn)行多方面監(jiān)控、良好的報(bào)警機(jī)制、數(shù)據(jù)分析處理、自動化修復(fù)管理。
[0025]本發(fā)明實(shí)現(xiàn)一種hadoop集群健康指標(biāo)采集、作業(yè)任務(wù)執(zhí)行監(jiān)控、自動化預(yù)警與修復(fù)的方法。通過此方法,根據(jù)預(yù)先配置好關(guān)鍵的運(yùn)維監(jiān)控指標(biāo)可以對集群健康進(jìn)行檢查、作業(yè)和任務(wù)執(zhí)行進(jìn)行可視化分析;根據(jù)將監(jiān)控?cái)?shù)據(jù)轉(zhuǎn)成到數(shù)據(jù)庫進(jìn)行分析處理,可以設(shè)置熱點(diǎn)問題,對熱點(diǎn)問題進(jìn)行重點(diǎn)分析和監(jiān)控,同時可以建立預(yù)測模型,對故障進(jìn)行預(yù)測,提高運(yùn)維效率;根據(jù)定義配置好告警選項(xiàng)和各類告警故障定制好自動化預(yù)處理,可以對監(jiān)控告警數(shù)據(jù)進(jìn)行自動化分析,自動化修復(fù);極大的提高了運(yùn)維的工作效率,為不懂hadoop運(yùn)維的人提供系統(tǒng)入門的墊腳石,為hadoop管理提供了方便的集群管理工具。
[0026]本發(fā)明各模塊主要功能及實(shí)現(xiàn)過程如下:
[0027]1、集群文件系統(tǒng)監(jiān)控模塊:
[0028]整個框架的基礎(chǔ)是hadoop的分布式文件系統(tǒng)(HDFS),對集群節(jié)點(diǎn)信息以及各種文件的數(shù)據(jù)庫進(jìn)行具體的分析。
[0029]瀏覽文件記錄,namenode日志記錄,namenode運(yùn)行情況,如成功運(yùn)行及運(yùn)行時間或者運(yùn)行失??;
[0030]集群配置容量、DFS占用容量、非DFS占用容量、DFS的可使用容量、DFS已使用百分比、DFS可使用百分比、活節(jié)點(diǎn)數(shù)、死節(jié)點(diǎn)數(shù)、namenode的存儲目錄及類型和狀態(tài)。
[0031]HDFS的實(shí)時數(shù)據(jù),歷史狀態(tài)功能,包括對集群監(jiān)控后,實(shí)時能檢測到HDFS信息,瀏覽和定位相關(guān)文件,以及關(guān)閉或者打開一個文件,各個磁盤已經(jīng)使用和各個磁盤的總?cè)萘?,剩余容量,文件名稱和數(shù)目以及文件的使用情況和歷程。
[0032]2、作業(yè)任務(wù)監(jiān)控模塊:
[0033]整個架構(gòu)是對hadoop集群系統(tǒng)各種作業(yè)和任務(wù)進(jìn)行監(jiān)控,對作業(yè)監(jiān)控功能進(jìn)行管理、控制作業(yè)和任務(wù)的狀態(tài)、采集作業(yè)和任務(wù)的信息。
[0034]控制集群任務(wù)概要信息,堆的大小,所占的比例,Map任務(wù)數(shù),Reduce任務(wù)數(shù),各個節(jié)點(diǎn)上的數(shù)量值和Map的各種任務(wù)的實(shí)施能力,還有Reduce任務(wù)實(shí)施能力。
[0035]實(shí)時查看job的狀態(tài)和查詢整個job從開始工作到結(jié)束工作耗費(fèi)的時間總和,對與指定任務(wù)的作業(yè)相關(guān)信息,能夠顯示完成的所有進(jìn)度、總共要進(jìn)行的任務(wù)總數(shù),預(yù)計(jì)需要完成的任務(wù)數(shù)量,此時此刻正在運(yùn)行的任務(wù)數(shù)量、到目前為止已經(jīng)完成,沒有成功運(yùn)行和已經(jīng)終止的任務(wù)。
[0036]實(shí)時查看Task的信息,包括task的狀態(tài)、運(yùn)行task的開始和結(jié)束時間,task的運(yùn)行速度及消耗task所消耗的時間,記錄整個task運(yùn)行日志,統(tǒng)計(jì)task數(shù)目和條目。
[0037]提供對作業(yè)任務(wù)進(jìn)行控制管理,包括作業(yè)功能的開啟和停止,對指定作業(yè)進(jìn)行周期采樣,job優(yōu)先級進(jìn)行管理。
[0038]3、物理節(jié)點(diǎn)監(jiān)控模塊:
[0039]物理節(jié)點(diǎn)監(jiān)控模塊結(jié)合hadoop集群