国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hadoop的高校日志分析應(yīng)用架構(gòu)的研究

2015-09-10 07:22孫彥超李忠剛
關(guān)鍵詞:分布式計(jì)算集群

孫彥超 李忠剛

摘 要:隨著信息化的建設(shè),高校管理系統(tǒng)越來(lái)越多,通過(guò)查看分析系統(tǒng)日志可以監(jiān)測(cè)系統(tǒng)狀態(tài),調(diào)查系統(tǒng)故障,更好地保證系統(tǒng)的正常運(yùn)行。但由于日志數(shù)據(jù)量巨大,不易被讀懂,無(wú)法通過(guò)人工分析挖掘出有價(jià)值的信息。分布式計(jì)算的出現(xiàn),為解決這一難題提供了思路。Hadoop用于構(gòu)建分布式存儲(chǔ)開(kāi)源框架,通過(guò)部署在上面的MapReduce程序,廣泛地應(yīng)用于處理海量的數(shù)據(jù)。結(jié)合具體問(wèn)題,文章設(shè)計(jì)了基于Hadoop的高校日志分析系統(tǒng),并深入分析了該系統(tǒng)的業(yè)務(wù)處理流程和系統(tǒng)功能框架。通過(guò)對(duì)實(shí)驗(yàn)結(jié)果的分析,證明了系統(tǒng)是有效的和有價(jià)值的。

關(guān)鍵詞:日志分析;Hadoop;集群;分布式計(jì)算

中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)志碼:B 文章編號(hào):1673-8454(2015)16-0082-03

一、引言

計(jì)算技術(shù)的不斷發(fā)展帶動(dòng)著高校信息化建設(shè)的深入,為了實(shí)現(xiàn)信息化教學(xué)管理,各大高校采用越來(lái)越多的系統(tǒng)。與此同時(shí),系統(tǒng)需求復(fù)雜程度也越來(lái)越高,為了使這些系統(tǒng)能夠正常運(yùn)行,以及保證其安全性和可擴(kuò)展性,查看日志已經(jīng)成為一項(xiàng)重要的途徑。通過(guò)分析日志數(shù)據(jù),可以獲取許多有價(jià)值的信息,如設(shè)備故障、網(wǎng)絡(luò)運(yùn)行歷史背景、網(wǎng)絡(luò)異常行為等方面的信息。[1]

但由于這些日志數(shù)據(jù)量大,且不易被讀懂,利用傳統(tǒng)的技術(shù)進(jìn)行分析,在存儲(chǔ)和計(jì)算量上都會(huì)遇到很大的困難,難以挖掘出對(duì)改進(jìn)用戶體驗(yàn)和提升管理水平都非常具有價(jià)值的信息,分布式計(jì)算技術(shù)恰好可以很好的解決這個(gè)問(wèn)題。[2]

Hadoop作為當(dāng)前流行的處理大數(shù)據(jù)的平臺(tái),近年來(lái)備受業(yè)內(nèi)關(guān)注,因此得到了快速的發(fā)展,在網(wǎng)頁(yè)搜索、日志分析、廣告計(jì)算和科學(xué)實(shí)驗(yàn)等領(lǐng)域中出現(xiàn)了許多相關(guān)應(yīng)用[3-5]。著名電商網(wǎng)站淘寶網(wǎng)擁有3000個(gè)節(jié)點(diǎn)的Hadoop集群,如此大規(guī)模的集群為它的日常運(yùn)營(yíng)做出了關(guān)鍵支撐。除此之外,F(xiàn)acebook、百度、Yahoo等眾多互聯(lián)網(wǎng)巨頭也都在使用Hadoop。[2]

基于Hadoop 技術(shù)的特點(diǎn),可以用它來(lái)存儲(chǔ)高校的日志數(shù)據(jù),并開(kāi)發(fā)相應(yīng)的算法對(duì)這些數(shù)據(jù)進(jìn)行挖掘分析,提高高校對(duì)這些日志數(shù)據(jù)的利用價(jià)值。本文以高校日志分析系統(tǒng)為例,介紹了Hadoop在海量日志分析中的應(yīng)用架構(gòu)。

二、Hadoop介紹

Hadoop是Apache開(kāi)發(fā)的開(kāi)源的MapReduce集群實(shí)現(xiàn)。Hadoop的核心包含兩部分,分別是Hadoop分布式文件系統(tǒng)(HDFS)和在此之上的MapReduce編程模型實(shí)現(xiàn)。Hadoop分布式文件系統(tǒng)(HDFS)是一個(gè)適合運(yùn)行在通用硬件和大規(guī)模數(shù)據(jù)集上的分布式文件系統(tǒng)。而MapReduce是一種分布式編程模型,用于大規(guī)模數(shù)據(jù)集的并行計(jì)算,編程人員不用考慮分布式并行編程的具體實(shí)現(xiàn),就能開(kāi)發(fā)出分布式計(jì)算程序。HDFS和MapReduce的關(guān)系如圖1。

每個(gè)HDFS采用Master/Slave架構(gòu),主要有四個(gè)組成部分:客戶端(Client)、元數(shù)據(jù)節(jié)點(diǎn)(NameNode)、副元數(shù)據(jù)節(jié)點(diǎn)(Secondary NameNode)和數(shù)據(jù)節(jié)點(diǎn)(DataNode)。一個(gè)HDFS集群只包含一個(gè)元數(shù)據(jù)節(jié)點(diǎn),元數(shù)據(jù)節(jié)點(diǎn)存儲(chǔ)整個(gè)分布式文件系統(tǒng)的元數(shù)據(jù)信息,此外,還負(fù)責(zé)監(jiān)控?cái)?shù)據(jù)節(jié)點(diǎn)是否正常,如果出現(xiàn)異常情況,就將其從整個(gè)文件系統(tǒng)中刪除。副元數(shù)據(jù)節(jié)點(diǎn)負(fù)責(zé)定期整理元數(shù)據(jù)節(jié)點(diǎn)中的文件,為其分擔(dān)一部分工作,提高對(duì)內(nèi)存資源的利用率。數(shù)據(jù)塊的實(shí)際存儲(chǔ)由數(shù)據(jù)節(jié)點(diǎn)負(fù)責(zé),包括數(shù)據(jù)的讀寫(xiě),并定時(shí)向元數(shù)據(jù)節(jié)點(diǎn)匯報(bào)存儲(chǔ)塊的信息。[6]

MapReduce是一個(gè)把數(shù)據(jù)集的大規(guī)模操作分發(fā)給每個(gè)節(jié)點(diǎn),從而實(shí)現(xiàn)并行計(jì)算的編程模型。MapReduce提供了簡(jiǎn)潔的編程接口,對(duì)于某個(gè)計(jì)算任務(wù)來(lái)說(shuō),其輸入的是鍵值對(duì),輸出也以鍵值對(duì)的方式表示。MapReduce中的Map函數(shù)將用戶的輸入數(shù)據(jù)以鍵值對(duì)形式通過(guò)用戶自定義的映射過(guò)程轉(zhuǎn)變?yōu)橥瑯右枣I值對(duì)形式表達(dá)的中間數(shù)據(jù)。而Reduce過(guò)程則會(huì)對(duì)中間生成的臨時(shí)中間數(shù)據(jù)作為輸入進(jìn)行處理,并輸出最終結(jié)果。[6]

三、系統(tǒng)架構(gòu)

基于Hadoop的高校日志分析系統(tǒng)的日志處理流程主要由存儲(chǔ)、分析和顯示三個(gè)部分構(gòu)成[1],如圖2所示。在存儲(chǔ)階段,日志服務(wù)器負(fù)責(zé)接收日志源提供的日志,并將這些數(shù)據(jù)按照順序存放在數(shù)據(jù)庫(kù)或者文件中,之后再轉(zhuǎn)儲(chǔ)到Hadoop集群中,進(jìn)行必要的數(shù)據(jù)歸并和清洗,以便后續(xù)的分析處理;在分析階段,MapReduce程序需在Hadoop集群中運(yùn)行,按指定條件查詢(xún)或挖掘日志數(shù)據(jù),獲得期望的信息;為了把這些信息進(jìn)行歸并和轉(zhuǎn)換,日志分析結(jié)果仍然以文件形式存儲(chǔ)在Hadoop集群中,經(jīng)過(guò)專(zhuān)門(mén)的處理后,最后的結(jié)果以可視化的形式顯示給用戶。

根據(jù)上述的日志分析流程,為了實(shí)現(xiàn)功能需求,可將基于Hadoop的高校日志分析系統(tǒng)的邏輯架構(gòu)方案設(shè)計(jì)如圖3所示。

1.日志采集模塊

采集并傳送日志源產(chǎn)生的日志數(shù)據(jù)。日志的采集采用定時(shí)傳送的方式,即日志接收節(jié)點(diǎn)每天定時(shí)收集每一個(gè)前端Web服務(wù)器中產(chǎn)生的日志數(shù)據(jù)。通過(guò)后臺(tái)腳本,日志收集節(jié)點(diǎn)將從各個(gè)Web服務(wù)器采集到的日志數(shù)據(jù)導(dǎo)入到數(shù)據(jù)倉(cāng)庫(kù)工具中。

2.查詢(xún)分析模塊

在此模塊中,需要一個(gè)非常重要的工具,即專(zhuān)門(mén)用于為用戶提供查詢(xún)接口的數(shù)據(jù)倉(cāng)庫(kù)工具(HBase,Hive等),它部署在元數(shù)據(jù)節(jié)點(diǎn)(NameNode)上。

查詢(xún)模塊的功能如下:首先,日志采集模塊采集到的都是一條一條的日志記錄,為了方便后續(xù)的查詢(xún)和處理,需要將每個(gè)系統(tǒng)的日志數(shù)據(jù)映射成數(shù)據(jù)庫(kù)表,結(jié)構(gòu)化到數(shù)據(jù)庫(kù)的概念之中;其次,由于系統(tǒng)是分布式的,查詢(xún)模塊需要提供大規(guī)模的查詢(xún)分析功能來(lái)滿足大量用戶的查詢(xún)請(qǐng)求,再將查詢(xún)結(jié)果返回給結(jié)果輸出模塊。

在實(shí)際處理用戶的自定義查詢(xún)時(shí),數(shù)據(jù)倉(cāng)庫(kù)工具執(zhí)行的步驟如下:①客戶端(Client)組件接收并向驅(qū)動(dòng)器提交自定義的查詢(xún)語(yǔ)句。②驅(qū)動(dòng)器負(fù)責(zé)接收并轉(zhuǎn)發(fā)客戶端傳來(lái)的查詢(xún)語(yǔ)句給編譯器,編譯器收到后,將查詢(xún)語(yǔ)句進(jìn)行解析、優(yōu)化。HDFS任務(wù)和MapReduce任務(wù)組成一個(gè)類(lèi)似有向無(wú)環(huán)圖的優(yōu)化策略,最后,這些任務(wù)被執(zhí)行引擎利用Hadoop來(lái)完成。

3.存儲(chǔ)處理模塊

存儲(chǔ)處理模塊同上述的查詢(xún)分析模塊部署在同一Hadoop集群中,它是由HDFS負(fù)責(zé)具體的執(zhí)行,包括實(shí)際數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)倉(cāng)庫(kù)工具提交的MapReduce任務(wù)。首先,JobTracker創(chuàng)建一個(gè)包含Map任務(wù)和Reduce任務(wù)的作業(yè)對(duì)象,其中Map任務(wù)根據(jù)己劃分的輸入信息來(lái)創(chuàng)建,Reduce任務(wù)則根據(jù)一定的屬性來(lái)設(shè)置。在初始化工作完成之后,每個(gè)TaskTracker會(huì)收到來(lái)自JobTracker根據(jù)特定調(diào)度算法分配的任務(wù)。TaskTracker接收到任務(wù)后,從共享文件系統(tǒng)中將任務(wù)文件和程序運(yùn)行所需的文件復(fù)制到本地文件系統(tǒng)。然后,創(chuàng)建任務(wù)工作目錄并為運(yùn)行該任務(wù)新建一個(gè)實(shí)例。當(dāng)完成作業(yè)的所有任務(wù)后,該作業(yè)的狀態(tài)被JobTracker標(biāo)記為成功,并被發(fā)送給數(shù)據(jù)倉(cāng)庫(kù)工具。

4.結(jié)果輸出模塊

結(jié)果輸出模塊負(fù)責(zé)將查詢(xún)結(jié)果以某種形式表現(xiàn)給用戶查看。后臺(tái)將客戶端傳來(lái)的查詢(xún)請(qǐng)求傳遞到查詢(xún)分析模塊,數(shù)據(jù)倉(cāng)庫(kù)工具將其編譯、解析和優(yōu)化后生成MapReduce任務(wù),存儲(chǔ)處理模塊就負(fù)責(zé)處理這些查詢(xún)?nèi)蝿?wù),并將結(jié)果通過(guò)查詢(xún)分析模塊返回到結(jié)果輸出模塊,最后以可視化的形式呈現(xiàn)給用戶。

四、測(cè)試

為了驗(yàn)證基于Hadoop的高校日志分析系統(tǒng)的有效性,我們構(gòu)建了一個(gè)特定的實(shí)驗(yàn)平臺(tái)并采用了特定測(cè)試方法。

1.實(shí)驗(yàn)環(huán)境

硬件平臺(tái)包含6臺(tái)服務(wù)器,其中的一臺(tái)用來(lái)作為HDFS的元數(shù)據(jù)節(jié)點(diǎn),4臺(tái)作為數(shù)據(jù)節(jié)點(diǎn),這5臺(tái)機(jī)器充當(dāng)Hadoop集群,另外一臺(tái)用作與之進(jìn)行對(duì)比的單機(jī)。具體配置如下:處理器類(lèi)型:Intel(R) Core(TM)2Duo E6600 @2.40GHz;內(nèi)存大?。?GB。集群服務(wù)器操作系統(tǒng):ubuntu-12.04,Hadoop版本:Hadoop-0.23.1。

2.實(shí)驗(yàn)數(shù)據(jù)及內(nèi)容

在實(shí)驗(yàn)中,輸入內(nèi)容為實(shí)際的系統(tǒng)產(chǎn)生的幾組日志數(shù)據(jù),這幾組的數(shù)據(jù)量大小不同,在Hadoop集群和傳統(tǒng)單機(jī)模式下分別處理這些數(shù)據(jù),最后統(tǒng)計(jì)出兩者消耗時(shí)間的長(zhǎng)短,進(jìn)行結(jié)果的對(duì)比。統(tǒng)計(jì)結(jié)果如表1所示。

3.實(shí)驗(yàn)結(jié)果分析

分析實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),在日志數(shù)據(jù)量小于2G的情況下,Hadoop集群的時(shí)間消耗大于單機(jī)處理,其處理海量數(shù)據(jù)的優(yōu)勢(shì)并未發(fā)揮出來(lái)。但當(dāng)需要處理的日志數(shù)據(jù)大小超過(guò)2.5G時(shí),Hadoop集群的優(yōu)勢(shì)就會(huì)慢慢顯現(xiàn)出來(lái),且隨著數(shù)據(jù)量的逐漸增大,其優(yōu)勢(shì)也會(huì)越來(lái)越明顯,具體如圖4所示。

四、結(jié)論

高校系統(tǒng)日志分析是高校日常管理的重要保障之一,本文提出基于Hadoop的高校日志分析系統(tǒng),利用Hadoop集群在海量數(shù)據(jù)處理方面的優(yōu)勢(shì),高效地進(jìn)行海量日志數(shù)據(jù)的分析和挖掘,具有很高的實(shí)用價(jià)值。實(shí)際上Hadoop還有很大的應(yīng)用空間,這些還有待進(jìn)一步的研究。

參考文獻(xiàn):

[1]楊鋒英,劉會(huì)超.基于Hadoop的在線網(wǎng)絡(luò)日志分析系統(tǒng)研究[J].計(jì)算機(jī)應(yīng)用與軟件,2014(8):311-316.

[2]胡光民,周亮,柯立新.基于Hadoop的網(wǎng)絡(luò)日志分析系統(tǒng)研究[J].電腦知識(shí)與技術(shù),2010(22):6163-6164,6185.

[3]程苗,陳華平.基于Hadoop的Web日志挖掘[J].計(jì)算機(jī)工程,2011(11):37-39.

[4]Yang F Y,Liu H Ch. Research in HDFS based on Campus Network Environment[C]//Processing of 2011 International Conference on Image Analysis and Signal Processing. WuHan,China,2011:648-652.

[5]Lou J G, Fu Q,Wang Y, et al.Mining dependency in distribute system through unstructured logs analysis[J].Operating Systems Review (ACM),2010,44(1):91-96.

[6]劉永增,張曉景,李先毅.基于Hadoop/Hive的Web日志分析系統(tǒng)的設(shè)計(jì)[J].廣西大學(xué)學(xué)報(bào)(自然科學(xué)版),2011(S1):314-317.

(編輯:魯利瑞)

猜你喜歡
分布式計(jì)算集群
海上小型無(wú)人機(jī)集群的反制裝備需求與應(yīng)對(duì)之策研究
一種無(wú)人機(jī)集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計(jì)
Python與Spark集群在收費(fèi)數(shù)據(jù)分析中的應(yīng)用
勤快又呆萌的集群機(jī)器人
面向異構(gòu)分布式計(jì)算環(huán)境的并行任務(wù)調(diào)度優(yōu)化方法