版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、大數(shù)據(jù)平臺概要設(shè)計說明書YKK standardization office YKK5AB- YKK08- YKK2C- YKK18計算平臺概要設(shè)計說明書文件編號受控編號版次密級內(nèi)部公開總頁數(shù)42附錄作者: 日期:2013-01-28批準:日期:審核:日期:(版權(quán)所有,翻版必究)文件修改記錄修改日期修改狀態(tài)修改頁碼及條款修改人審核人批準人1.引言1.1 編寫目的大數(shù)據(jù)泛指巨量的數(shù)據(jù)集,因可從中挖掘出有價值的信息而受到重視。華 爾街日報將大數(shù)據(jù)時代、智能化生產(chǎn)和無線網(wǎng)絡(luò)革命稱為引領(lǐng)未來繁榮的三 大技術(shù)變革。麥肯錫公司的報告指出數(shù)據(jù)是一種生產(chǎn)資料,大數(shù)據(jù)是下一個創(chuàng) 新、競爭、生產(chǎn)力提高的前沿。世界
2、經(jīng)濟論壇的報告認定大數(shù)據(jù)為新財富,價 值堪比石油。因此,發(fā)達國家紛紛將開發(fā)利用大數(shù)據(jù)作為奪取新一輪競爭制高 點的重要抓手?;ヂ?lián)網(wǎng)特別是移動互聯(lián)網(wǎng)的發(fā)展,加快了信息化向社會經(jīng)濟各方面、大眾日 常生活的滲透。有資料顯示,1998年全球網(wǎng)民平均每月使用流量是1MB (兆字 節(jié)),2000 年是 10MB, 2003 年是 100MB, 2008 年是 1GB (1GB 等于 1024MB) , 2014年將是10GB。全網(wǎng)流量累計達到1EB (即10億GB或 1000PB)的時間在2001年是一年,在2004年是一個月,在2007年是一周,而 2013年僅需一天,即一天產(chǎn)生的信息量可刻滿億張DVD光
3、盤。我國網(wǎng)民數(shù)居 世界之首,每天產(chǎn)生的數(shù)據(jù)量也位于世界前列。淘寶網(wǎng)站每天有超過數(shù)千萬筆 交易,單日數(shù)據(jù)產(chǎn)生量超過50TB (1TB等于1000GB),存儲量40PB(1PB等 于1000TB)。仃度公司目前數(shù)據(jù)總量接近1000PB,存儲網(wǎng)頁數(shù)量接近1萬億 頁,每天大約要處理60億次搜索請求,幾十PB數(shù)據(jù)。一個8Mbps (兆比特每 秒)的攝像頭一小時能產(chǎn)生數(shù)據(jù),一個城市若安裝幾十萬個交通和安防攝像 頭,每月產(chǎn)生的數(shù)據(jù)量將達幾十PB。醫(yī)院也是數(shù)據(jù)產(chǎn)生集中的地方?,F(xiàn)在,一 個病人的CT影像數(shù)據(jù)量達幾十GB,而全國每年門診人數(shù)以數(shù)十億計,并且他 們的信息需要長時間保存??傊髷?shù)據(jù)存在于各行各業(yè),一
4、個大數(shù)據(jù)時代正 在到來。信息爆炸不自今日起,但近年來人們更加感受到大數(shù)據(jù)的來勢迅猛。一方 面,網(wǎng)民數(shù)量不斷增加,另一方面,以物聯(lián)網(wǎng)和家電為代表的聯(lián)網(wǎng)設(shè)備數(shù)量增 長更快。2007年全球有5億個設(shè)備聯(lián)網(wǎng),人均個;2013年全球?qū)⒂?00億個設(shè) 備聯(lián)網(wǎng),人均70個。隨著寬帶化的發(fā)展,人均網(wǎng)絡(luò)接入帶寬和流量也迅速提 升。全球新產(chǎn)生數(shù)據(jù)年增40%,即信息總量每兩年就可以翻番,這一趨勢還將 持續(xù)。目前,單一數(shù)據(jù)集容量超過幾十TB甚至數(shù)PB已不罕見,其規(guī)模大到無 法在容許的時間內(nèi)用常規(guī)軟件工具對其內(nèi)容進行抓取、管理和處理。數(shù)據(jù)規(guī)模越大,處理的難度也越大,但對其進行挖掘可能得到的價值更 大,這就是大數(shù)據(jù)熱的原
5、因。鑒于越來越大的數(shù)據(jù)規(guī)模,采用常規(guī)基于DBMS 的數(shù)據(jù)分析工具和方法已經(jīng)無法滿足大規(guī)模數(shù)據(jù)分析的需求,目前一些大型互 聯(lián)網(wǎng)公司采用hadoop體系進行大規(guī)模數(shù)據(jù)的運算,結(jié)合hadoop體系結(jié)構(gòu)與實 際的運算需求結(jié)合,采用hadoop體系結(jié)構(gòu)的分布式運算模型,通過集群的方式 實現(xiàn)大數(shù)據(jù)運算,為企業(yè)提供大數(shù)據(jù)的價值。為適應(yīng)大數(shù)據(jù)計算的要求,同時提供大數(shù)據(jù)運算平臺的系統(tǒng)設(shè)計的依據(jù),特 制定計算平臺的系統(tǒng)概要設(shè)計文檔,為后期的系統(tǒng)詳細設(shè)計和實現(xiàn)提供依據(jù)。1.2 術(shù)語與縮略詞下列術(shù)語、定義和縮略語適用于本標(biāo)準:術(shù)語與縮略詞解釋備注NamenodeHDFS采用master/slave架構(gòu)。-個HDFS集
6、群是由個 Namenode 和定數(shù)目的 Datanodes 組成。Namenode > - 個中心服務(wù)券,負責(zé)管理文件系統(tǒng)的名字空間(namespace)以 及客戶端對文件的訪問。Namenode執(zhí)行文件系統(tǒng)的名字空間 操作,比如打開、關(guān)閉、重命名文件或目錄。它也負賁確定數(shù)據(jù) 塊到具體Datanode節(jié)點的映射Datanode集群中的Datanode一般是一個節(jié)點一個,負責(zé)管理它 所在節(jié)點上的存儲。HDFS暴露了文件系統(tǒng)的名字空 間,用戶能夠以文件的形式在上面存儲數(shù)據(jù)。從內(nèi)部 看,一個文件其實被分成一個或多個數(shù)據(jù)塊,這些塊 存儲在一組Datanode上。Datanode負責(zé)處理文件系 統(tǒng)
7、客戶端的讀寫請求。在Namenode的統(tǒng)一調(diào)度下進行 數(shù)據(jù)塊的創(chuàng)建、刪除和復(fù)制Secondnamenode光從字面上來理解,很容易讓一些初學(xué)者先入為主的 認為:SecondaryNameNode (snn)就是 NameNode(nn)的熱備進程。其實不是。snn是HDFS架構(gòu)中的 一個組成部分,但是經(jīng)常由于名字而被人誤解它真正 的用途,其實它真正的用途,是用來保存namenode中 對HDFS metadata的信息的備份,并減少namenode重 啟的時間JobtrackerJobTracker是MapReduce框架中最主要的類之一,所 有job的執(zhí)行都由它來調(diào)度,而且Hadoop系統(tǒng)中
8、只配 置一個JobTracker應(yīng)用。?它們都是由一個master 服務(wù)JobTracker和多個運行于多個節(jié)點的slaver服 務(wù)TaskTracker兩個類提供的服務(wù)調(diào)度的。master 負責(zé)調(diào)度job的每一個子任務(wù)task運行于slave上, 并監(jiān)控它們,如果發(fā)現(xiàn)有失敗的task就重新運行它, slave則負責(zé)直接執(zhí)行每一個taskTaskTrackerTaskTracker都需要運行在HDFS的DataNode上,而JobTracker 則不需要,一般情況應(yīng)該把JobTracker部署在單獨的機器上HBaseHBase是一個分布式的、面向列的開源數(shù)據(jù)庫,該技術(shù)來源F Chang et
9、al所撰寫的Google論文“Bigtable: 一個結(jié)構(gòu)化數(shù)據(jù)的分布式存儲 系統(tǒng)就像Bigtable利用了 Google文件系統(tǒng)(File System)所提供 的分布式數(shù)據(jù)存儲一樣,HBase在Hadoop之上提供了類似 Bigiable 的能力。HBase 是 Apache 的 Hadoop 項 口 的子項 口。HBase 不同一般的關(guān)系數(shù)據(jù)庫,它是一個適合于非結(jié)構(gòu)化數(shù)據(jù)存儲的數(shù) 據(jù)庫。另一個不同的是HBase基于列的而不是基于行的模式。Hivehive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件 映射為一張數(shù)據(jù)庫表,并提供完整的sql查詢功能,可以將sql語 句轉(zhuǎn)換為M
10、apReduce任務(wù)進行運行。其優(yōu)點是學(xué)習(xí)成本低,可以通 過類SQL語句快速實現(xiàn)簡單的MapReduce統(tǒng)計,不必開發(fā)專門的 MapReduce應(yīng)用,十分適合數(shù)據(jù)倉庫的統(tǒng)計分析。StormStorm為分布式實時計算提供了一組通用原語,可被 用于“流處理”之中,實時處理消息并更新數(shù)據(jù)庫。這 是管理隊列及工作者集群的另一種方式。Storm也可被用于"連續(xù)計算"(continuous computation ),對 數(shù)據(jù)流做連續(xù)查詢,在計算時就將結(jié)果以流的形式 輸出給用戶。它還可被用于“分布式RPC”,以并行 的方式運行昂貴的運算。FlumeF1 ume是C1 oudera提供的
11、一個高可用的,高可 靠的,分布式的海量日志采集、聚合和傳輸?shù)南?統(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方, 用于收集數(shù)據(jù);同時.,F(xiàn)lume提供對數(shù)據(jù)進行簡單處 理,并寫到各種數(shù)據(jù)接受方(可定制)的能力。ETLETL是數(shù)據(jù)抽取(Extract)、清洗(Cleaning)、轉(zhuǎn)換(Transform)、裝載(Load) 的過程。是構(gòu)建數(shù)據(jù)倉庫的重要一環(huán),用戶從數(shù)據(jù) 源抽取出所需的數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗,最終按照預(yù)先 定義好的數(shù)據(jù)倉庫模型,將數(shù)據(jù)加載到數(shù)據(jù)倉庫中 去。KettleKettle是一款國外開源的ETL工具,純java編寫, 可以在Window、Linux> Unix上運行,綠色
12、無需安 裝,數(shù)據(jù)抽取高效穩(wěn)定。MySQLMySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管 理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前 MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站 中。由于其體積小、速度快、總體擁有成本低,尤 其是開放源碼這一特點,許多中小型網(wǎng)站為了降低 網(wǎng)站總體擁有成本而選擇了 MySQL作為網(wǎng)站數(shù)據(jù) 庫。MongoDBMongoDB是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之 間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像 關(guān)系數(shù)據(jù)庫的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類 似json的bson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。Mong。最大的特點是他支持的查詢語言非常 強大
13、,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,兒 乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功 能,而且還支持對數(shù)據(jù)建立索引。1.3 對象及范圍1、開發(fā)人員、DBA、測試人員;2、研發(fā)主管領(lǐng)導(dǎo)、產(chǎn)品人員;1.4 參考資料1、大數(shù)據(jù)處理體系架構(gòu)2、HBase The Definitive Guide3、4 、 Programming_Hive5 .系統(tǒng)總體設(shè)計5.1 需求規(guī)定5.2 運行環(huán)境操作系統(tǒng):RedHad Enterprise軟件環(huán)境:JavaKettleMySQL硬件環(huán)境:8核16G內(nèi)存PC服務(wù)器8臺5.3 基本設(shè)計思路和處理流程1、按照數(shù)據(jù)分析的實時性,分為在線數(shù)據(jù)分析和離線數(shù)據(jù)分析。2、在
14、線數(shù)據(jù)分析:往往要求系統(tǒng)在數(shù)秒內(nèi)返回上億行數(shù)據(jù)的分析,從而才能達 到不影響用戶體驗的目的。3、離線數(shù)據(jù)分析:對大多數(shù)反饋時間要求不高的應(yīng)用,比如離線統(tǒng)計分析、機 器學(xué)習(xí)等,應(yīng)采用離線分析的方式,通過數(shù)據(jù)采集工具將日志數(shù)據(jù)導(dǎo)入專門的 分析平臺進行分析。4、系統(tǒng)主要以離線數(shù)據(jù)分析為主,采用目前在互聯(lián)網(wǎng)業(yè)界流行的hadoop體系結(jié)構(gòu)對大批 量的數(shù)據(jù)進行運算,采用hadoop集群的方式對大數(shù)據(jù)進行運算。5、數(shù)據(jù)運算平臺以調(diào)度為主線,作為運算平臺的核心控制系統(tǒng),對運算平臺的各個環(huán)節(jié)進 行控制,且對運算過程中的步驟依賴關(guān)系進行控制,同時對各個環(huán)節(jié)進行監(jiān)控,通過監(jiān)控 異常報警來提高系統(tǒng)的穩(wěn)定性和異常響應(yīng)速度
15、。2.4系統(tǒng)結(jié)構(gòu)2.4.1大數(shù)據(jù)運算系統(tǒng)架構(gòu)圖2.4.2大數(shù)據(jù)平臺系統(tǒng)功能圖監(jiān)控系統(tǒng)國度系統(tǒng)應(yīng)用模版驅(qū)動代理數(shù)據(jù)應(yīng)用HDFSZooke eper離線計算系統(tǒng)管理Zooke eperKafka源數(shù)據(jù)系統(tǒng)功能圖邏輯說明1) 生產(chǎn)系統(tǒng)的源數(shù)據(jù)通過sqoop, flume, Kettle等獲取后保存在Kafka消息隊列中或者保存到hadoop的hdfs系統(tǒng)中。2) 調(diào)度系統(tǒng)負責(zé)自身的控制功能,通過讀取調(diào)度控制的配置信息調(diào)用驅(qū)動代理程序處理相關(guān)的運算功能。3) 驅(qū)動代理程序負責(zé)所有基于運算平臺的相關(guān)組件的驅(qū)動任務(wù),讀取調(diào)度系統(tǒng)傳遞過來的模版信息,讀取模版信息,并執(zhí)行相應(yīng)的驅(qū)動操作。4) 系統(tǒng)管理功能部分
16、完成系統(tǒng)相關(guān)配置,管理等相關(guān)信息的維護操作。5) 監(jiān)控系統(tǒng)對整個系統(tǒng)的運行狀況進行監(jiān)控,由各個業(yè)務(wù)子系統(tǒng)按照監(jiān)控系統(tǒng)的要求實現(xiàn)相應(yīng)的監(jiān)控功能。務(wù)用業(yè)應(yīng)個性化推薦數(shù)據(jù)服務(wù)掃描任務(wù)執(zhí)行步驟依賴檢查異常報警統(tǒng)度 系調(diào)動理驅(qū)代Hive驅(qū)動MapReuce 驅(qū)動HBase驅(qū)動Stome驅(qū)動Sqoop驅(qū)動HDFS驅(qū)動Kafka驅(qū)動 版理模管業(yè)務(wù)模版計算模版功能模版Hive MahoutStorm離線計算MapRedcue HBase二。okeeperKakfaFSHD決時計算Flume系統(tǒng)管理用戶管理權(quán)限管理服務(wù)器管理資源管理集群管理組件管理任務(wù)管理模版管理系統(tǒng)配置業(yè)務(wù)配置監(jiān)控配置參數(shù)配電規(guī)則配厘系統(tǒng)監(jiān)控
17、服務(wù)器監(jiān)控資源監(jiān)控任務(wù)監(jiān)控功能監(jiān)控數(shù)據(jù)監(jiān)控異常監(jiān)控程序運行統(tǒng)計異常統(tǒng)計運行統(tǒng)計超時統(tǒng)計執(zhí)行監(jiān)控元數(shù)力專管理調(diào)度元數(shù)據(jù)監(jiān)控元數(shù)據(jù)計克元數(shù)據(jù)文件元數(shù)據(jù)1大數(shù)據(jù)平臺功能結(jié)構(gòu)圖說明:1)大數(shù)據(jù)平臺功能結(jié)構(gòu)主要劃分為計算平臺,應(yīng)用平臺,系統(tǒng)管理以及監(jiān)控, 配置等相關(guān)應(yīng)用功能。2)計算平臺分為基礎(chǔ)運算部分,模版管理部分,驅(qū)動代理部分,系統(tǒng)調(diào)度部 分。3)計算平臺分為離線計算與實時計算兩種形式。4)計算平臺基于模版的功能開發(fā),實際應(yīng)用中做到模版的熱插拔,對于功能需 求只需要開發(fā)相應(yīng)的模版,并部署上計算平臺即可應(yīng)用。5)驅(qū)動代理程序管理所有的基于大數(shù)據(jù)運算的相關(guān)組件的代理功能,對外提供 給調(diào)度系統(tǒng)應(yīng)用,調(diào)用模
18、版設(shè)置的相應(yīng)的類型,進行相應(yīng)類型的驅(qū)動操作。6)調(diào)度系統(tǒng)只關(guān)心其自身的系統(tǒng)控制能力,不參與具體的業(yè)務(wù)以及計算功能組 件的調(diào)用。2.5尚未解決的問題3.模塊/功能設(shè)計3.1 調(diào)度模塊3.1.1 設(shè)計思路-:調(diào)度模塊實現(xiàn)功能思路二:流程說明以及注意事項:1、 任務(wù)與步驟采用配置表的方式保存在mysql中,調(diào)度程序定時掃描任務(wù)表,判斷是否有啟動的任務(wù),如果有啟動的任務(wù),則啟動任務(wù)。2、 調(diào)度任務(wù)需要判斷任務(wù)中步驟之間的依賴關(guān)系,根據(jù)依賴關(guān)系判斷是否可以執(zhí)行下一步的執(zhí)行步驟。3、 一個任務(wù)中可以包含多個步驟,每個步驟為一個具體的任務(wù),步驟與步驟直接存在依賴關(guān)系。4、 對于具體的執(zhí)行任務(wù)將由驅(qū)動代理自動
19、完成。3.1.2流程圖3.1.3處理邏輯1、調(diào)度任務(wù)啟動后掃描任務(wù)配置表,看任務(wù)配置表是否存在需要處理的任務(wù)信 息,如果不存在需要處理的任務(wù)信息,則線程執(zhí)行休眠,否則執(zhí)行步驟2;2、生成數(shù)據(jù)日期,并檢查任務(wù)依賴關(guān)系,如果依賴關(guān)系未執(zhí)行完,則現(xiàn)成等待 操作,等待依賴的任務(wù)執(zhí)行完成,如果依賴關(guān)系都執(zhí)行完,則獲取符合條件的 任務(wù),執(zhí)行步驟3:3、讀取任務(wù)信息表,獲取任務(wù)信息,根據(jù)任務(wù)信息讀取步驟信息,執(zhí)行相應(yīng)的 步驟操作,執(zhí)行步驟4;4、根據(jù)步驟信息的配置獲取需要執(zhí)行的相應(yīng)的模版信息,調(diào)用驅(qū)動代理程序執(zhí) 行相應(yīng)的功能,執(zhí)行步驟5;5、驅(qū)動代理程序執(zhí)行模版初始化,初始化完成后獲取相應(yīng)的參數(shù)數(shù)據(jù),并根據(jù)
20、 模版類型選擇具體的驅(qū)動程序,執(zhí)行相應(yīng)的操作。6、判斷該任務(wù)的下步驟是否執(zhí)行完成,如果未執(zhí)行完成,則執(zhí)行步驟3,繼續(xù) 下一個步驟的執(zhí)行,否則執(zhí)行步驟7;7、寫步驟完成信息表,判斷是否還存在要執(zhí)行的任務(wù),如果沒有等待,存在需 要執(zhí)行的任務(wù)則執(zhí)行步驟3.3.2 驅(qū)動代理模塊3.2.1 設(shè)計思路一:計算驅(qū)動模塊實現(xiàn)功能思路二:流程說明以及注意事項:1、計算平臺的驅(qū)動提供針對Hive, M叩Reduce, Hbase等相關(guān)的驅(qū)動應(yīng)用。2、基于業(yè)務(wù)模版的設(shè)置操作,調(diào)度執(zhí)行業(yè)務(wù)模版,不關(guān)心模版具體業(yè)務(wù)形態(tài)。3、一個驅(qū)動應(yīng)用包含四個步驟:1)刪除不用的數(shù)據(jù);2)加教數(shù)據(jù);3)運 算;4)導(dǎo)出結(jié)果文件。4、提
21、供監(jiān)控需要的相應(yīng)信息。5、對于文件的操作,會涉及到多個文件或者目錄操作,多個文件或者目錄以逗 號分隔,對文件操作中涉及到一些按照小時,天,月份的文件命名的操作,配 置中以特殊字符進行替換。3.#.2流程圖3.2.3處理邏輯1、山調(diào)度程序驅(qū)動代理模塊,調(diào)用驅(qū)動代理模塊的驅(qū)動應(yīng)用,傳遞需要驅(qū)動的 模版編號,處理時間范圍等相關(guān)信息,執(zhí)行流程2;2、驅(qū)動程序首先查詢是否存在該模版,如果不存在模版,、則執(zhí)行流程3,否 則執(zhí)行流程4;3、則直接返回任務(wù)失敗信息,不存在相關(guān)的模版,整個流程結(jié)束;4、如果查詢到相關(guān)的模版信息,先執(zhí)行初始化模版信息以及需要刪除的中間文 件,多個文件以逗號分割,如果為空則表示不需
22、要清理中間文件,執(zhí)行流程5;5、清理hive表數(shù)據(jù)操作,多個hive語句以逗號分割,如果為空則表示不需要 進行分割,執(zhí)行流程66、判斷該操作是hive驅(qū)動mapreduce還是自定義的mapreduce,如果是自定義 的mapreduce則走自定義的mapreduce操作,執(zhí)行流程7,否則如果是hive驅(qū)動 的mapreduce,則走hive操作流程,否則執(zhí)行流程8;7、如果nuipreduce的操作流程,第一步執(zhí)行加載文本文件數(shù)據(jù),多個文本文件 以逗號進行分割,第二步執(zhí)行mapreduce操作,通過shell腳本的方式執(zhí)行m叩reduce操作,第三步執(zhí)行完后將結(jié)果輸出。8、如果是hive的操
23、作流程,第一步先執(zhí)行加教文本文件到hive表,如果有多 個文件操作一逗號分割,第二步執(zhí)行hive語句,多個hive語句以逗號分割的方 式,第三步將結(jié)果輸出到相應(yīng)的hive表中。9、根據(jù)設(shè)置導(dǎo)出的方式,將結(jié)果文件導(dǎo)出到mysqL或者mongodb,或者直接將文本文件從hdfs文件系統(tǒng)中導(dǎo)出。3.3 對操作系統(tǒng)/應(yīng)用程序監(jiān)控流程3.3.1處理流程圖3.3.2處理邏輯1、讀取監(jiān)控服務(wù)器列表,判斷是否需要監(jiān)控,如果需要監(jiān)控,則執(zhí)行步驟2, 如果不需要監(jiān)控,執(zhí)行步驟5;2、監(jiān)控模塊向監(jiān)控服務(wù)器發(fā)送監(jiān)控請求,等到被監(jiān)控服務(wù)器的返回,執(zhí)行步驟3;3、被監(jiān)控服務(wù)器接收到請求監(jiān)控信息后,將相關(guān)的信息返回給監(jiān)控模
24、塊,執(zhí)行 步驟4;4、監(jiān)控服務(wù)器將返回的數(shù)據(jù)進行解析后入庫,執(zhí)行步驟5;5、判斷被監(jiān)控服務(wù)器是否都請求完成,如果請求完成,則執(zhí)行步驟6,否則執(zhí) 行步驟1:6、監(jiān)控模塊線程休眠10分鐘,等待下次進行監(jiān)控,執(zhí)行步驟1.3.4 監(jiān)控報警模塊3.4.1 設(shè)計思路一:監(jiān)控模塊實現(xiàn)功能思路二:流程說明以及注意事項:1、監(jiān)控報警模塊主要完成三個級別的監(jiān)控報警,分為:1)操作系統(tǒng)級別,檢測運行的機器的操作系統(tǒng)是否正常運行,CPU,內(nèi)存, I/O,存儲等資源的利用情況,采用Linux的Shell腳本對相關(guān)的信息進行收集 并上報;2)應(yīng)用程序級別監(jiān)控,檢測kettle, hadoop, hive, hbase,
25、zookeeper等相關(guān) 程序是否正常啟動,以及應(yīng)用程序的相關(guān)資源的監(jiān)控。3)程序數(shù)據(jù)級別的監(jiān)控,對數(shù)據(jù)情況進行監(jiān)控,主要是數(shù)據(jù)異常的監(jiān)控。2、監(jiān)控模塊主要負責(zé)監(jiān)控數(shù)據(jù)的采集,數(shù)據(jù)異常報警,以及后期的監(jiān)控數(shù)據(jù)展 示等功能。3、對于系統(tǒng)級別和應(yīng)用程序級別的監(jiān)控數(shù)據(jù)采集采用由監(jiān)控模塊主動調(diào)用相應(yīng) 的應(yīng)用接口的方式采集數(shù)據(jù),對于應(yīng)用數(shù)據(jù)級別的監(jiān)控則由各個應(yīng)用將相關(guān)的 數(shù)據(jù)寫入到數(shù)據(jù)庫表,由監(jiān)控系統(tǒng)對其進行掃描。4、監(jiān)控模塊的報警機制支持優(yōu)先級報警模式,對于優(yōu)先級較高,需要緊急處理 的報警,需要不間斷的進行報警,但需要設(shè)置報警的頻率,如10分鐘重復(fù)一 次。5、監(jiān)控的報警模式采用郵件監(jiān)控的方式,輔助以短
26、信提醒的方式。3.#.2流程圖3.4.3處理邏輯1、監(jiān)控報警啟動采用啟動啟動的方式進行,當(dāng)監(jiān)控報警線程啟動后判斷是否到 達監(jiān)控時間點,如果未到達監(jiān)控時間點,則線程休眠1分鐘后再次進行判斷, 如果到達監(jiān)控時間點則執(zhí)行步驟2o2、讀取需要監(jiān)控任務(wù)列表,得到需要監(jiān)控的任務(wù),執(zhí)行步驟3。3、對監(jiān)控任務(wù)的源數(shù)據(jù)進行掃描,判斷是否存在異常,如果存在異常則保存監(jiān) 控異常數(shù)據(jù),執(zhí)行步驟4,否則執(zhí)行步驟1。4、判斷監(jiān)控列表是否都執(zhí)行完,如果執(zhí)行完,對于異常情況以郵件的方式通知 相關(guān)人,否則執(zhí)行步驟3。4.系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計4.1 數(shù)據(jù)實體關(guān)系圖詳細圖例見附件卻D帽人弓務(wù)DRO松人MDFK1kD用MMW 101 任
27、務(wù)N您 fltA4.2 數(shù)據(jù)邏輯結(jié)構(gòu)4.2.1調(diào)度任務(wù)表字段說明數(shù)據(jù)類型是否 為空主鍵備注Taskld任務(wù)IDint否是主鍵,自增長IDTaskName任務(wù)名稱Varchar(255)否TaskDesc任務(wù)描述Varchar(500)是Priority優(yōu)先級int是數(shù)值110值 越大優(yōu)先級越 高,默認5CycleType周期類型int否。.執(zhí)行一次1.分鐘2.小時3.天4.月Interval頻次間隔Int是整數(shù)PlanRunTime預(yù)期執(zhí)行時 長Int是單位:分鐘LastRunDate最后執(zhí)行日 期int否Status任務(wù)狀態(tài)int否0.正常L暫停CreateUser創(chuàng)建人Varchar(25
28、5)否CreateTime創(chuàng)建時間date否ModifyUser修改人Varchar(255)是ModifyTime修改時間date是4.2.2調(diào)度步驟表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Stepld步驟IDint否是主鍵,自增長IDTaskld任務(wù)IDint否“任務(wù)表”主鍵StepSort執(zhí)行順序int否相同則表示并 行StepName步驟名稱Varchar(255)否TeniplatelD模板IDInt否PlanRunTime預(yù)期執(zhí)行時 長Int是單位:分鐘CreateUser創(chuàng)建人Varchar(255)否CreateTime創(chuàng)建時間date否ModifyUser修改人Varchar
29、(255)是ModifyTime修改時間date是4.2.3調(diào)度任務(wù)依賴表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Taskld任務(wù)IDint否Fatherld父任務(wù)IDint否4.2.4調(diào)度任務(wù)運行日志表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Serialld記錄IDInt否是主鍵,自增 長IDTaskDate任務(wù)日期Int否Taskld任務(wù)IDInt否“任務(wù)表”主鍵Status任務(wù)狀態(tài)Int否0.初始化1執(zhí) 行中2.已完 成-99.執(zhí)行錯 誤RetryTimes重試次數(shù)IntBeginTime開始執(zhí)行時 間Date是EndTime結(jié)束執(zhí)行時 間Date是CreateTime創(chuàng)建時間Date否Mo
30、difyTime修改時間Date是4.2.5調(diào)度步驟運行日志表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Serialld記錄IDInt否是主鍵,自增長IDTaskDate步驟日期Int否Taskld任務(wù)IDInt否“任務(wù)表”主鍵Stepld步驟IDInt否“步驟表”主鍵StepSort步驟序號int否Status步驟狀態(tài)Int否0.初始化1.執(zhí) 行中2.已完 成-99.執(zhí)行錯 誤RetryTimes重試次數(shù)IntBeginTime開始執(zhí)行時 間Date是EndTime結(jié)束執(zhí)行時 間Date是CreateTime創(chuàng)建時間Date否ModifyTime修改時間Date是4.2.6調(diào)度步驟運行錯誤日志表
31、字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Serialld記錄IDInt否是主鍵,自增 長IDTaskDate任務(wù)日期Int否Taskld任務(wù)IDInt否Stepld步驟IDInt否Errorinfo錯誤信息Varchar(4000)否InsertTime記錄時間Date是4.2.7系統(tǒng)資源表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Resourceld資源IDInt否是主鍵,自增長IDCpulnfoCpu信息Varchar(4000)是Memoryinfo內(nèi)存信息Varchar(4000)是Diskinfo硬盤信息Varchar(4000)是CreateTime記錄創(chuàng)建時 間date否CreateN
32、ame記錄創(chuàng)建人Varchar(256)否ModifyTime記錄修改時 間Date否ModifyName記錄修改人Varchar(256)否4.2.8服務(wù)器機器表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Machineld機型IDInt否是主鍵,自增長IDCpulnfoCpu信息Varchar(4000)是Memoryinfo內(nèi)存信息Varchar(4000)是Diskinfo硬盤信息Varchar(4000)是CreateTime記錄創(chuàng)建時 間date否CreateName記錄創(chuàng)建人Varchar(256)否ModifyTime記錄修改時 間Date否ModifyName記錄修改人Varcha
33、r(256)否4.2.9服務(wù)器信息表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Serverld服務(wù)器IDInt否是主鍵,自增長IDServerName服務(wù)器名稱Varchar(256)是Serverip服務(wù)器IPVarchar(256)是CreateTime記錄創(chuàng)建時 間date否CreateName記錄創(chuàng)建人Varchar(256)否ModifyTime記錄修改時 間Date否ModifyName記錄修改人Varchar(256)否4210系統(tǒng)管理信息表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Systemld服務(wù)器IDInt否是主鍵,自增長IDMachineld機型IDInt否Resourceld
34、資源IDInt否Serverld服務(wù)器IDInt否CreateTime記錄創(chuàng)建時 間date否CreateName記錄創(chuàng)建人Varchar(256)否ModifyTime記錄修改時 間Date否ModifyName記錄修改人Varchar(256)否4.2.11集群信息表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Clusterld集群IDInt否是主鍵,自增 長IDCkisterName集群名稱Varchar(256)是ClusterPath集群配置目 錄Varchar(256)是Remark集群配置備 注Varchar(256)是CreateTime記錄創(chuàng)建時 間date否CreateName記
35、錄創(chuàng)建人Varchar(256)否ModifyTime記錄修改時 間Date否ModifyName記錄修改人Varchar(256)否4212集群列表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Listld集群列表IDInt否是主鍵,自增 長IDClusterld集群IDInt否Serverld服務(wù)器IDInt否CreateTime記錄創(chuàng)建時 間date否CreateName記錄創(chuàng)建人Varchar(256)否ModifyTime記錄修改時 間Date否ModifyName記錄修改人Varchar(256)否4213系統(tǒng)配置表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Configld系統(tǒng)配置IDInt否
36、是主鍵,自增 長IDConfigName配置名稱Varchar(256)否ConfigValue配置信息Varchar(256)否Clusterld集群IDInt否CreateTime記錄創(chuàng)建時 間date否CreateName記錄創(chuàng)建人Varchar(256)否ModifyTime記錄修改時 間Date否ModifyName記錄修改人Varchar(256)否4.2.14Hadoop參數(shù)酉己置表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Configld系統(tǒng)配置IDInt否是主鍵,自增長IDConfieName配置名稱Varchar(256)否ConfigValue配置信息Varchar(256)
37、否Clusterld集群IDInt否CreateTime記錄創(chuàng)建時 問date否CreateName記錄創(chuàng)建人Varchar(256)否ModifyTime記錄修改時 間Date否ModifyName記錄修改人Varchar(256)否4.2.15 Jar酉己置表字段說明數(shù)據(jù)類型是 否 為 空主鍵備注Configld系統(tǒng)配置IDInt否是主鍵,自增長IDConfigName配置名稱Varchar(256)否ConfigValue配置信息Varchar(256)否Clusterld集群IDInt否CreateTime記錄創(chuàng)建時 間date否CreateName記錄創(chuàng)建人Varchar(256)否ModifyTime記錄修改時 間Date否ModifyName
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度教育機構(gòu)代辦招生合作合同示例4篇
- 二零二五年度綠色櫥浴柜節(jié)能產(chǎn)品采購安裝服務(wù)合同4篇
- 2025年度苗木病蟲害防治與植保服務(wù)合同4篇
- 二零二五年度醫(yī)療器械產(chǎn)品設(shè)計與開發(fā)合同3篇
- 安徽省二零二五年度水利工程建設(shè)項目施工合同
- 2025年度米面行業(yè)綠色生產(chǎn)技術(shù)改造合同3篇
- 二零二五年度夜間建筑拆除作業(yè)安全警戒打更合同4篇
- 2025年度個人房屋租賃抵押借款合同4篇
- 2025年度個人汽車抵押貸款信用評估合同4篇
- 二零二五年度定制櫥柜設(shè)計研發(fā)生產(chǎn)合同4篇
- 新能源居間合同協(xié)議書范本
- 經(jīng)外周中心靜脈置管術(shù)(PICC)知情同意書
- 福建省福州市鼓樓實驗小學(xué)教育集團2023-2024學(xué)年五年級下學(xué)期期中英語試題
- 消防安全隱患等級
- 溫室氣體(二氧化碳和甲烷)走航監(jiān)測技術(shù)規(guī)范
- 有關(guān)傳統(tǒng)文化的謎語
- 藥品代持協(xié)議書
- 嘔血護理查房
- 2024年新青島版(六三制)三年級下冊科學(xué)全冊知識點
- 朝韓關(guān)系相關(guān)分析
- 校園熱水方案
評論
0/150
提交評論