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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論