大數(shù)據(jù)平臺概要設(shè)計說明書模板_第1頁
大數(shù)據(jù)平臺概要設(shè)計說明書模板_第2頁
大數(shù)據(jù)平臺概要設(shè)計說明書模板_第3頁
大數(shù)據(jù)平臺概要設(shè)計說明書模板_第4頁
大數(shù)據(jù)平臺概要設(shè)計說明書模板_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

計算平臺概要設(shè)計說明書文件編號受控編號版次1.0密級內(nèi)部公開總頁數(shù)42附錄作者:日期:-01-28同意:日期:審核:日期:(版權(quán)全部,翻版必究)

文件修改統(tǒng)計修改日期修改狀態(tài)修改頁碼及條款修改人審核人同意人

目錄1. 引言 51.1 編寫目標(biāo) 51.2 術(shù)語與縮略詞 61.3 對象及范圍 81.4 參考資料 92. 系統(tǒng)總體設(shè)計 92.1 需求要求 92.1.1 數(shù)據(jù)導(dǎo)入 92.1.2 數(shù)據(jù)運算 92.1.3 運算結(jié)果導(dǎo)出 102.1.4 系統(tǒng)監(jiān)控 102.1.5 調(diào)度功效 112.1.6 自動化安裝布署與維護(hù) 112.2 運行環(huán)境 122.3 基本設(shè)計思緒和處理流程 132.4 系統(tǒng)結(jié)構(gòu) 142.4.1 大數(shù)據(jù)運算系統(tǒng)架構(gòu)圖 142.4.2 hadoop體系各組件之間關(guān)系圖 142.4.3 計算平臺系統(tǒng)功效圖 152.4.4 系統(tǒng)功效圖邏輯說明 162.4.5 計算平臺業(yè)務(wù)流程圖 162.5 還未處理問題 173. 模塊/功效設(shè)計 173.1 計算驅(qū)動模塊 173.1.1 設(shè)計思緒 173.1.2 流程圖 193.1.3 處理邏輯 203.2 調(diào)度模塊 203.2.1 設(shè)計思緒 203.2.2 流程圖 223.2.3 處理邏輯 233.3 自動化安裝布署模塊 233.3.1 設(shè)計思緒 233.3.2 處理邏輯 233.4 調(diào)度模塊與計算驅(qū)動模塊交互流程 243.4.1 處理流程圖 243.4.2 處理邏輯 243.4.3 hadoop驅(qū)動模塊調(diào)用驅(qū)動接口 253.4.4 調(diào)度模塊接收hadoop執(zhí)行狀態(tài)接口 253.5 調(diào)度模塊與kettle交互流程 263.5.1 處理流程圖 263.5.2 處理邏輯 273.6 對調(diào)度任務(wù)運行過程進(jìn)行監(jiān)控流程 273.6.1 處理流程圖 273.6.2 處理邏輯 273.7 對hadoop驅(qū)動任務(wù)運行過程進(jìn)行監(jiān)控流程 283.7.1 處理流程圖 283.7.2 處理邏輯 283.8 對操作系統(tǒng)/應(yīng)用程序監(jiān)控流程 293.8.1 處理流程圖 293.8.2 處理邏輯 293.9 監(jiān)控報警模塊 303.9.1 設(shè)計思緒 303.9.2 流程圖 313.9.3 處理邏輯 314. 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計 324.1 數(shù)據(jù)實體關(guān)系圖 324.2 數(shù)據(jù)邏輯結(jié)構(gòu) 324.2.1 驅(qū)動任務(wù)設(shè)置表 324.2.2 驅(qū)動設(shè)置表 334.2.3 驅(qū)動任務(wù)執(zhí)行明細(xì)表 344.2.4 調(diào)度任務(wù)表 344.2.5 調(diào)度步驟表 354.2.6 調(diào)度步驟執(zhí)行統(tǒng)計表 364.2.7 操作系統(tǒng)監(jiān)控數(shù)據(jù)表 374.2.8 應(yīng)用程序監(jiān)控數(shù)據(jù)表 384.2.9 監(jiān)控系統(tǒng)配置表 384.2.10 業(yè)務(wù)數(shù)據(jù)統(tǒng)計表 394.3 數(shù)據(jù)物理結(jié)構(gòu) 395. 安全設(shè)計 396. 容錯設(shè)計 406.1 挽救方法 406.2 系統(tǒng)維護(hù)設(shè)計 407. 日志設(shè)計 40

引言編寫目標(biāo)大數(shù)據(jù)泛指巨量數(shù)據(jù)集,因可從中挖掘出有價值信息而受到重視?!度A爾街日報》將大數(shù)據(jù)時代、智能化生產(chǎn)和無線網(wǎng)絡(luò)革命稱為引領(lǐng)未來繁榮三大技術(shù)變革。麥肯錫企業(yè)匯報指出數(shù)據(jù)是一個生產(chǎn)資料,大數(shù)據(jù)是下一個創(chuàng)新、競爭、生產(chǎn)力提升前沿。世界經(jīng)濟(jì)論壇匯報認(rèn)定大數(shù)據(jù)為新財富,價值堪比石油。所以,發(fā)達(dá)國家紛紛將開發(fā)利用大數(shù)據(jù)作為奪取新一輪競爭制高點主要抓手?;ヂ?lián)網(wǎng)尤其是移動互聯(lián)網(wǎng)發(fā)展,加緊了信息化向社會經(jīng)濟(jì)各方面、大眾日常生活滲透。有資料顯示,1998年全球網(wǎng)民平均每個月使用流量是1MB(兆字節(jié)),是10MB,是100MB,是1GB(1GB等于1024MB),將是10GB。全網(wǎng)流量累計達(dá)成1EB(即10億GB或1000PB)時間在是一年,在是一個月,在是一周,而僅需一天,即一天產(chǎn)生信息量可刻滿1.88億張DVD光盤。我國網(wǎng)民數(shù)居世界之首,天天產(chǎn)生數(shù)據(jù)量也位于世界前列。淘寶網(wǎng)站天天有超出數(shù)千萬筆交易,單日數(shù)據(jù)產(chǎn)生量超出50TB(1TB等于1000GB),存放量40PB(1PB等于1000TB)。baidu企業(yè)現(xiàn)在數(shù)據(jù)總量靠近1000PB,存放網(wǎng)頁數(shù)量靠近1萬億頁,天天大約要處理60億次搜索請求,幾十PB數(shù)據(jù)。一個8Mbps(兆比特每秒)攝像頭一小時能產(chǎn)生3.6GB數(shù)據(jù),一個城市若安裝幾十萬個交通和安防攝像頭,每個月產(chǎn)生數(shù)據(jù)量將達(dá)幾十PB。醫(yī)院也是數(shù)據(jù)產(chǎn)生集中地方。現(xiàn)在,一個病人CT影像數(shù)據(jù)量達(dá)幾十GB,而全國每年門診人數(shù)以數(shù)十億計,而且他們信息需要長時間保留??傊?,大數(shù)據(jù)存在于各行各業(yè),一個大數(shù)據(jù)時代正在到來。信息爆炸不自今日起,但近年來人們愈加感受到大數(shù)據(jù)來勢迅猛。首先,網(wǎng)民數(shù)量不停增加,另首先,以物聯(lián)網(wǎng)和家電為代表聯(lián)網(wǎng)設(shè)備數(shù)量增加更加快。全球有5億個設(shè)備聯(lián)網(wǎng),人均0.1個;全球?qū)⒂?00億個設(shè)備聯(lián)網(wǎng),人均70個。伴隨寬帶化發(fā)展,人均網(wǎng)絡(luò)接入帶寬和流量也快速提升。全球新產(chǎn)生數(shù)據(jù)年增40%,即信息總量每兩年就能夠翻倍,這一趨勢還將連續(xù)?,F(xiàn)在,單一數(shù)據(jù)集容量超出幾十TB甚至數(shù)PB已不罕見,其規(guī)模大到無法在允許時間內(nèi)用常規(guī)軟件工具對其內(nèi)容進(jìn)行抓取、管理和處理。數(shù)據(jù)規(guī)模越大,處理難度也越大,但對其進(jìn)行挖掘可能得到價值更大,這就是大數(shù)據(jù)熱原因。鑒于越來越大數(shù)據(jù)規(guī)模,采取常規(guī)基于DBMS數(shù)據(jù)分析工具和方法已經(jīng)無法滿足大規(guī)模數(shù)據(jù)分析需求,現(xiàn)在一些大型互聯(lián)網(wǎng)企業(yè)采取hadoop體系進(jìn)行大規(guī)模數(shù)據(jù)運算,結(jié)合hadoop體系結(jié)構(gòu)與實際運算需求結(jié)合,采取hadoop體系結(jié)構(gòu)分布式運算模型,經(jīng)過集群方式實現(xiàn)大數(shù)據(jù)運算,為企業(yè)提供大數(shù)據(jù)價值。為適應(yīng)大數(shù)據(jù)計算要求,同時提供大數(shù)據(jù)運算平臺系統(tǒng)設(shè)計依據(jù),特制訂計算平臺系統(tǒng)概要設(shè)計文檔,為后期系統(tǒng)詳細(xì)設(shè)計和實現(xiàn)提供依據(jù)。術(shù)語與縮略詞以下術(shù)語、定義和縮略語適適用于本標(biāo)準(zhǔn):術(shù)語與縮略詞解釋備注NamenodeHDFS采取master/slave架構(gòu)。一個HDFS集群是由一個Namenode和一定數(shù)目標(biāo)Datanodes組成。Namenode是一個中心服務(wù)器,負(fù)責(zé)管理文件系統(tǒng)名字空間(namespace)以及客戶端對文件訪問。Namenode執(zhí)行文件系統(tǒng)名字空間操作,比如打開、關(guān)閉、重命名文件或目錄。它也負(fù)責(zé)確定數(shù)據(jù)塊到詳細(xì)Datanode節(jié)點映射Datanode集群中Datanode通常是一個節(jié)點一個,負(fù)責(zé)管理它所在節(jié)點上存放。HDFS暴露了文件系統(tǒng)名字空間,用戶能夠以文件形式在上面存放數(shù)據(jù)。從內(nèi)部看,一個文件其實被分成一個或多個數(shù)據(jù)塊,這些塊存放在一組Datanode上。Datanode負(fù)責(zé)處理文件系統(tǒng)客戶端讀寫請求。在Namenode統(tǒng)一調(diào)度下進(jìn)行數(shù)據(jù)塊創(chuàng)建、刪除和復(fù)制Secondnamenode光從字面上來了解,很輕易讓一些初學(xué)者先入為主認(rèn)為:SecondaryNameNode(snn)就是NameNode(nn)熱備進(jìn)程。其實不是。snn是HDFS架構(gòu)中一個組成部分,不過經(jīng)常因為名字而被人誤解它真正用途,其實它真正用途,是用來保留namenode中對HDFSmetadata信息備份,并降低namenode重啟時間JobtrackerJobTracker是MapReduce框架中最主要類之一,全部job執(zhí)行都由它來調(diào)度,而且Hadoop系統(tǒng)中只配置一個JobTracker應(yīng)用。

它們都是由一個master服務(wù)JobTracker和多個運行于多個節(jié)點slaver服務(wù)TaskTracker兩個類提供服務(wù)調(diào)度。master負(fù)責(zé)調(diào)度job每一個子任務(wù)task運行于slave上,并監(jiān)控它們,假如發(fā)覺有失敗task就重新運行它,slave則負(fù)責(zé)直接執(zhí)行每一個taskTaskTrackerTaskTracker都需要運行在HDFSDataNode上,而JobTracker則不需要,通常情況應(yīng)該把JobTracker布署在單獨機(jī)器上HBaseHBase是一個分布式、面向列開源數(shù)據(jù)庫,該技術(shù)起源于Changetal所撰寫谷歌論文“Bigtable:一個結(jié)構(gòu)化數(shù)據(jù)分布式存放系統(tǒng)”。就像Bigtable利用了谷歌文件系統(tǒng)(FileSystem)所提供分布式數(shù)據(jù)存放一樣,HBase在Hadoop之上提供了類似于Bigtable能力。HBase是ApacheHadoop項目標(biāo)子項目。HBase不一樣于通常關(guān)系數(shù)據(jù)庫,它是一個適合于非結(jié)構(gòu)化數(shù)據(jù)存放數(shù)據(jù)庫。另一個不一樣是HBase基于列而不是基于行模式。Hivehive是基于Hadoop一個數(shù)據(jù)倉庫工具,能夠?qū)⒔Y(jié)構(gòu)化數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整sql查詢功效,能夠?qū)ql語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運行。其優(yōu)點是學(xué)習(xí)成本低,能夠經(jīng)過類SQL語句快速實現(xiàn)簡單MapReduce統(tǒng)計,無須開發(fā)專門MapReduce應(yīng)用,十分適合數(shù)據(jù)倉庫統(tǒng)計分析。StormStorm為分布式實時計算提供了一組通用原語,可被用于“流處理”之中,實時處理消息并更新數(shù)據(jù)庫。這是管理隊列及工作者集群另一個方式。Storm也可被用于“連續(xù)計算”(continuouscomputation),對數(shù)據(jù)流做連續(xù)查詢,在計算時就將結(jié)果以流形式輸出給用戶。它還可被用于“分布式RPC”,以并行方式運行昂貴運算。FlumeFlume是Cloudera提供一個高可用,高可靠,分布式海量日志采集、聚合和傳輸系統(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于搜集數(shù)據(jù);同時,F(xiàn)lume提供對數(shù)據(jù)進(jìn)行簡單處理,并寫到各種數(shù)據(jù)接收方(可定制)能力。ETLETL是數(shù)據(jù)抽?。‥xtract)、清洗(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上運行,綠色無需安裝,數(shù)據(jù)抽取高效穩(wěn)定。MySQLMySQL是一個開放源碼小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQLAB企業(yè)。現(xiàn)在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ù)庫。他支持?jǐn)?shù)據(jù)結(jié)構(gòu)非常渙散,是類似jsonbson格式,所以能夠存放比較復(fù)雜數(shù)據(jù)類型。Mongo最大特點是他支持查詢語言非常強(qiáng)大,其語法有點類似于面向?qū)ο蟛樵冋Z言,幾乎能夠?qū)崿F(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢絕大部分功效,而且還支持對數(shù)據(jù)建立索引。對象及范圍1、開發(fā)人員、DBA、測試人員;2、研發(fā)主管領(lǐng)導(dǎo)、產(chǎn)品人員;參考資料1、《大數(shù)據(jù)處理體系架構(gòu)》2、《HBaseTheDefinitiveGuide》3、《The.Definitive.Guide.3rd.Edition.May.》4、《Programming_Hive》系統(tǒng)總體設(shè)計需求要求運行環(huán)境操作系統(tǒng):RedHadEnterprise5.5軟件環(huán)境:Java1.6Hadoop-1.0.4HBase-0.94.9Hive-0.10.0sqoop-1.4.2zookeeper-3.4.5Kettle4.3MySQL5.1硬件環(huán)境:8核16G內(nèi)存PC服務(wù)器8臺基本設(shè)計思緒和處理流程1、按照數(shù)據(jù)分析實時性,分為在線數(shù)據(jù)分析和離線數(shù)據(jù)分析。2、在線數(shù)據(jù)分析:往往要求系統(tǒng)在數(shù)秒內(nèi)返回上億行數(shù)據(jù)分析,從而才能達(dá)成不影響用戶體驗?zāi)繕?biāo)。3、離線數(shù)據(jù)分析:對大多數(shù)反饋時間要求不高應(yīng)用,比如離線統(tǒng)計分析、機(jī)器學(xué)習(xí)等,應(yīng)采取離線分析方式,經(jīng)過數(shù)據(jù)采集工具將日志數(shù)據(jù)導(dǎo)入專門分析平臺進(jìn)行分析。4、系統(tǒng)主要以離線數(shù)據(jù)分析為主,采取現(xiàn)在在互聯(lián)網(wǎng)業(yè)界流行hadoop體系結(jié)構(gòu)對大批量數(shù)據(jù)進(jìn)行運算,采取hadoop集群方式對大數(shù)據(jù)進(jìn)行運算。5、數(shù)據(jù)運算平臺以調(diào)度為根本,作為運算平臺關(guān)鍵控制系統(tǒng),對運算平臺各個步驟進(jìn)行控制,且對運算過程中步驟依賴關(guān)系進(jìn)行控制,同時對各個步驟進(jìn)行監(jiān)控,經(jīng)過監(jiān)控異常報警來提升系統(tǒng)穩(wěn)定性和異常響應(yīng)速度。系統(tǒng)結(jié)構(gòu)大數(shù)據(jù)運算系統(tǒng)架構(gòu)圖日志存放日志存放統(tǒng)計分析數(shù)據(jù)應(yīng)用Hadoop(HDFS、HBASE)在線計算:Storm流計算框架離線計算:Hadoop(Map/Reduce、Hive、pig)日志采集日志采集系統(tǒng)Flume數(shù)據(jù)服務(wù)數(shù)據(jù)提取,報表展現(xiàn),功效、網(wǎng)頁展示……統(tǒng)計、分析數(shù)據(jù)存放,數(shù)據(jù)接口MongoDB、MySql大數(shù)據(jù)平臺系統(tǒng)功效圖系統(tǒng)功效圖邏輯說明生產(chǎn)系統(tǒng)源數(shù)據(jù)經(jīng)過sqoop,flume,Kettle等獲取后保留在Kafka消息隊列中或者保留到hadoophdfs系統(tǒng)中。調(diào)度系統(tǒng)負(fù)責(zé)本身控制功效,經(jīng)過讀取調(diào)度控制配置信息調(diào)用驅(qū)動代理程序處理相關(guān)運算功效。驅(qū)動代理程序負(fù)責(zé)全部基于運算平臺相關(guān)組件驅(qū)動任務(wù),讀取調(diào)度系統(tǒng)傳遞過來模版信息,讀取模版信息,并執(zhí)行對應(yīng)驅(qū)動操作。系統(tǒng)管理功效部分完成系統(tǒng)相關(guān)配置,管理等相關(guān)信息維護(hù)操作。監(jiān)控系統(tǒng)對整個系統(tǒng)運行情況進(jìn)行監(jiān)控,由各個業(yè)務(wù)子系統(tǒng)按照監(jiān)控系統(tǒng)要求實現(xiàn)對應(yīng)監(jiān)控功效。大數(shù)據(jù)平臺功效結(jié)構(gòu)圖大數(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)用模版設(shè)置對應(yīng)類型,進(jìn)行對應(yīng)類型驅(qū)動操作。6)調(diào)度系統(tǒng)只關(guān)心其本身系統(tǒng)控制能力,不參加詳細(xì)業(yè)務(wù)以及計算功效組件調(diào)用。還未處理問題無模塊/功效設(shè)計調(diào)度模塊設(shè)計思緒一:調(diào)度模塊實現(xiàn)功效思緒二:流程說明以及注意事項:任務(wù)與步驟采取配置表方式保留在mysql中,調(diào)度程序定時掃描任務(wù)表,判斷是否有開啟任務(wù),假如有開啟任務(wù),則開啟任務(wù)。調(diào)度任務(wù)需要判斷任務(wù)中步驟之間依賴關(guān)系,依照依賴關(guān)系判斷是否能夠執(zhí)行下一步執(zhí)行步驟。一個任務(wù)中能夠包含多個步驟,每個步驟為一個詳細(xì)任務(wù),步驟與步驟直接存在依賴關(guān)系。對于詳細(xì)執(zhí)行任務(wù)將由驅(qū)動代理自動完成。流程圖處理邏輯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ù)信息,依照任務(wù)信息讀取步驟信息,執(zhí)行對應(yīng)步驟操作,執(zhí)行步驟4;4、依照步驟信息配置獲取需要執(zhí)行對應(yīng)模版信息,調(diào)用驅(qū)動代理程序執(zhí)行對應(yīng)功效,執(zhí)行步驟5;5、驅(qū)動代理程序執(zhí)行模版初始化,初始化完成后獲取對應(yīng)參數(shù)數(shù)據(jù),并依照模版類型選擇詳細(xì)驅(qū)動程序,執(zhí)行對應(yīng)操作。6、判斷該任務(wù)下步驟是否執(zhí)行完成,假如未執(zhí)行完成,則執(zhí)行步驟3,繼續(xù)下一個步驟執(zhí)行,不然執(zhí)行步驟7;7、寫步驟完成信息表,判斷是否還存在要執(zhí)行任務(wù),假如沒有等候,存在需要執(zhí)行任務(wù)則執(zhí)行步驟3.驅(qū)動代理模塊設(shè)計思緒一:計算驅(qū)動模塊實現(xiàn)功效思緒二:流程說明以及注意事項:1、計算平臺驅(qū)動提供針對Hive,MapReduce,Hbase等相關(guān)驅(qū)動應(yīng)用。2、基于業(yè)務(wù)模版設(shè)置操作,調(diào)度執(zhí)行業(yè)務(wù)模版,不關(guān)心模版詳細(xì)業(yè)務(wù)形態(tài)。3、一個驅(qū)動應(yīng)用包含四個步驟:1)刪除不用數(shù)據(jù);2)加載數(shù)據(jù);3)運算;4)導(dǎo)出結(jié)果文件。4、提供監(jiān)控需要對應(yīng)信息。5、對于文件操作,會包括到多個文件或者目錄操作,多個文件或者目錄以逗號分隔,對文件操作中包括到一些按照小時,天,月份文件命名操作,配置中以特殊字符進(jìn)行替換。流程圖處理邏輯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í)行初始化模版信息以及需要刪除中間文件,多個文件以逗號分割,假如為空則表示不需要清理中間文件,執(zhí)行流程5;5、清理hive表數(shù)據(jù)操作,多個hive語句以逗號分割,假如為空則表示不需要進(jìn)行分割,執(zhí)行流程66、判斷該操作是hive驅(qū)動mapreduce還是自定義mapreduce,假如是自定義mapreduce則走自定義mapreduce操作,執(zhí)行流程7,不然假如是hive驅(qū)動mapreduce,則走h(yuǎn)ive操作流程,不然執(zhí)行流程8;7、假如mapreduce操作流程,第一步執(zhí)行加載文本文件數(shù)據(jù),多個文本文件以逗號進(jìn)行分割,第二步執(zhí)行mapreduce操作,經(jīng)過shell腳本方式執(zhí)行mapreduce操作,第三步執(zhí)行完后將結(jié)果輸出。8、假如是hive操作流程,第一步先執(zhí)行加載文本文件到hive表,假如有多個文件操作一逗號分割,第二步執(zhí)行hive語句,多個hive語句以逗號分割方式,第三步將結(jié)果輸出到對應(yīng)hive表中。9、依照設(shè)置導(dǎo)出方式,將結(jié)果文件導(dǎo)出到mysql,或者mongodb,或者直接將文本文件從hdfs文件系統(tǒng)中導(dǎo)出。對操作系統(tǒng)/應(yīng)用程序監(jiān)控流程處理流程圖處理邏輯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)控模塊,執(zhí)行步驟4;4、監(jiān)控服務(wù)器將返回數(shù)據(jù)進(jìn)行解析后入庫,執(zhí)行步驟5;5、判斷被監(jiān)控服務(wù)器是否都請求完成,假如請求完成,則執(zhí)行步驟6,不然執(zhí)行步驟1;6、監(jiān)控模塊線程休眠10分鐘,等候下次進(jìn)行監(jiān)控,執(zhí)行步驟1.監(jiān)控報警模塊設(shè)計思緒一:監(jiān)控模塊實現(xiàn)功效思緒二:流程說明以及注意事項:1、監(jiān)控報警模塊主要完成三個級別監(jiān)控報警,分為:1)操作系統(tǒng)級別,檢測運行機(jī)器操作系統(tǒng)是否正常運行,CPU,內(nèi)存,I/O,存放等資源利用情況,采取LinuxShell腳本對相關(guān)信息進(jìn)行搜集并上報;2)應(yīng)用程序級別監(jiān)控,檢測kettle,hadoop,hive,hbase,zookeeper等相關(guān)程序是否正常開啟,以及應(yīng)用程序相關(guān)資源監(jiān)控。3)程序數(shù)據(jù)級別監(jiān)控,對數(shù)據(jù)情況進(jìn)行監(jiān)控,主要是數(shù)據(jù)異常監(jiān)控。2、監(jiān)控模塊主要負(fù)責(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)對其進(jìn)行掃描。4、監(jiān)控模塊報警機(jī)制支持優(yōu)先級報警模式,對于優(yōu)先級較高,需要緊急處理報警,需要不間斷進(jìn)行報警,但需要設(shè)置報警頻率,如10分鐘重復(fù)一次。5、監(jiān)控報警模式采取郵件監(jiān)控方式,輔助以短信提醒方式。流程圖處理邏輯1、監(jiān)控報警開啟采取開啟開啟方式進(jìn)行,當(dāng)監(jiān)控報警線程開啟后判斷是否抵達(dá)監(jiān)控時間點,假如未抵達(dá)監(jiān)控時間點,則線程休眠1分鐘后再次進(jìn)行判斷,假如抵達(dá)監(jiān)控時間點則執(zhí)行步驟2。2、讀取需要監(jiān)控任務(wù)列表,得到需要監(jiān)控任務(wù),執(zhí)行步驟3。3、對監(jiān)控任務(wù)源數(shù)據(jù)進(jìn)行掃描,判斷是否存在異常,假如存在異常則保留監(jiān)控異常數(shù)據(jù),執(zhí)行步驟4,不然執(zhí)行步驟1。4、判斷監(jiān)控列表是否都執(zhí)行完,假如執(zhí)行完,對于異常情況以郵件方式通知相關(guān)人,不然執(zhí)行步驟3。系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計數(shù)據(jù)實體關(guān)系圖詳細(xì)圖例見附件數(shù)據(jù)邏輯結(jié)構(gòu)調(diào)度任務(wù)表字段說明數(shù)據(jù)類型是否為空主鍵備注TaskId任務(wù)IDint否是主鍵,自增加IDTaskName任務(wù)名稱Varchar(255)否TaskDesc任務(wù)描述Varchar(500)是Priority優(yōu)先級int是數(shù)值1~10值越大優(yōu)先級越高,默認(rèn)5CycleType周期類型int否0.執(zhí)行一次1.分鐘2.小時3.天4.月Interval頻次間隔Int是整數(shù)PlanRunTime預(yù)期執(zhí)行時長Int是單位:分鐘LastRunDate最終執(zhí)行日期int否0101Status任務(wù)狀態(tài)int否0.正常1.暫停CreateUser創(chuàng)建人Varchar(255)否CreateTime創(chuàng)建時間date否ModifyUser修改人Varchar(255)是ModifyTime修改時間date是調(diào)度步驟表字段說明數(shù)據(jù)類型是否為空主鍵備注StepId步驟IDint否是主鍵,自增加IDTaskId任務(wù)IDint否“任務(wù)表”主鍵StepSort執(zhí)行次序int否相同則表示并行StepName步驟名稱Varchar(255)否TemplateID模板IDInt否PlanRunTime預(yù)期執(zhí)行時長Int是單位:分鐘CreateUser創(chuàng)建人Varchar(255)否CreateTime創(chuàng)建時間date否ModifyUser修改人Varchar(255)是ModifyTime修改時間date是調(diào)度任務(wù)依賴表字段說明數(shù)據(jù)類型是否為空主鍵備注TaskId任務(wù)IDint否FatherId父任務(wù)IDint否調(diào)度任務(wù)運行日志表字段說明數(shù)據(jù)類型是否為空主鍵備注SerialId統(tǒng)計IDInt否是主鍵,自增加IDTaskDate任務(wù)日期Int否TaskId任務(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否ModifyTime修改時間Date是調(diào)度步驟運行日志表字段說明數(shù)據(jù)類型是否為空主鍵備注SerialId統(tǒng)計IDInt否是主鍵,自增加IDTaskDate步驟日期Int否TaskId任務(wù)IDInt否“任務(wù)表”主鍵StepId步驟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是調(diào)度步驟運行錯誤日志表字段說明數(shù)據(jù)類型是否為空主鍵備注SerialId統(tǒng)計IDInt否是主鍵,自增加IDTaskDate任務(wù)日期Int否TaskId任務(wù)IDInt否StepId步驟IDInt否ErrorInfo錯誤信息Varchar(4000)否InsertTime統(tǒng)計時間Date是系統(tǒng)資源表字段說明數(shù)據(jù)類型是否為空主鍵備注ResourceId資源IDInt否是主鍵,自增加IDCpuInfoCpu信息Varchar(4000)是MemoryInfo內(nèi)存信息Varchar(4000)是DiskInfo硬盤信息Varchar(4000)是CreateTime統(tǒng)計創(chuàng)建時間date否CreateName統(tǒng)計創(chuàng)建人Varchar(256)否ModifyTime統(tǒng)計修改時間Date否ModifyName統(tǒng)計修改人Varchar(256)否服務(wù)器機(jī)器表字段說明數(shù)據(jù)類型是否為空主鍵備注MachineId機(jī)型IDInt否是主鍵,自增加IDCpuInfoCpu信息Varchar(4000)是MemoryInfo內(nèi)存信息Varchar(4000)是DiskInfo硬盤信息Varchar(4000)是CreateTime統(tǒng)計創(chuàng)建時間date否CreateName統(tǒng)計創(chuàng)建人Varchar(256)否ModifyTime統(tǒng)計修改時間Date否ModifyName統(tǒng)計修改人Varchar(256)否服務(wù)器信息表字段說明數(shù)據(jù)類型是否為空主鍵備注ServerId服務(wù)器IDInt否是主鍵,自增加IDServerName服務(wù)器名稱Varchar(256)是ServerIp服務(wù)器IPVarchar(256)是CreateTime統(tǒng)計創(chuàng)建時間date否CreateName統(tǒng)計創(chuàng)建人Varchar(256)否ModifyTime統(tǒng)計修改時間Date否ModifyName統(tǒng)計修改人Varchar(256)否系統(tǒng)管理信息表字段說明數(shù)據(jù)類型是否為空主鍵備注SystemId服務(wù)器IDInt否是主鍵,自增加IDMachineId機(jī)型IDInt否ResourceId資源IDInt否ServerId服務(wù)器IDInt否CreateTime統(tǒng)計創(chuàng)建時間date否CreateName統(tǒng)計創(chuàng)建人Varchar(256)否ModifyTime統(tǒng)計修改時間Date否ModifyName統(tǒng)計修改人Varchar(256)否集群信息表字段說明數(shù)據(jù)類型是否為空主鍵備注ClusterId集群IDInt否是主鍵,自增加IDClusterName集群名稱Varchar(256)是ClusterPath集群配置目錄Varchar(256)是Remark集群配置備注Varchar(256)是CreateTime統(tǒng)計創(chuàng)建時間date否CreateName統(tǒng)計創(chuàng)建人Varchar(256)否ModifyTime統(tǒng)計修改時間Date否ModifyName統(tǒng)計修改人Varchar(256)否集群列表字段說明數(shù)據(jù)類型是否為空主鍵備注ListId集群列表IDInt否是主鍵,自增加IDClusterId集群IDInt否ServerId服務(wù)器IDInt否CreateTime統(tǒng)計創(chuàng)建時間date否CreateName統(tǒng)計創(chuàng)建人Varchar(256)否ModifyTime統(tǒng)計修改時間Date否ModifyName統(tǒng)計修改人Varchar(256)否系統(tǒng)配置表字段說明數(shù)據(jù)類型是否為空主鍵備注ConfigId系統(tǒng)配置IDInt否是主鍵,自增加IDConfigName配置名稱Varchar(256)否ConfigValue配置信息Varchar(256)否ClusterId集群IDInt否CreateTime統(tǒng)計創(chuàng)建時間date否CreateName統(tǒng)計創(chuàng)建人Varchar(256)否ModifyTime統(tǒng)計修改時間Date否ModifyName統(tǒng)計修改人Varchar(256)否Hadoop參數(shù)配置表字段說明數(shù)據(jù)類型是否為空主鍵備注ConfigId系統(tǒng)配置IDInt否是主鍵,自增加IDConfigName配置名稱Varcha

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論