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

?

基于Hadoop平臺的網(wǎng)站日志分析系統(tǒng)的設(shè)計(jì)

2019-09-10 07:22劉亮
關(guān)鍵詞:集群

劉亮

摘??要:隨著移動(dòng)互聯(lián)網(wǎng)時(shí)代的到來,用戶數(shù)據(jù)呈現(xiàn)出了爆炸式增長,網(wǎng)站產(chǎn)生的訪問日志也越來越大,達(dá)到了GB甚至TB級。大規(guī)模的日志中,隱藏了企業(yè)感興趣的數(shù)據(jù),挖掘其中的價(jià)值變得非常重要。網(wǎng)站日志分析系統(tǒng)基于Hadoop大數(shù)據(jù)處理平臺進(jìn)行設(shè)計(jì),由5個(gè)部分組成:由Flume組件收集日志編寫MapReduce應(yīng)用程序?qū)υ紨?shù)據(jù)進(jìn)行清洗;通過Hive的HQL對數(shù)據(jù)進(jìn)行查詢分析;Sqoop組件將Hive中的數(shù)據(jù)同步到Mysql;使用Echarts對數(shù)據(jù)進(jìn)行可視化。經(jīng)實(shí)驗(yàn)結(jié)果表明,數(shù)據(jù)量大于10G時(shí),集群較于單結(jié)點(diǎn)具有更大的優(yōu)勢;同時(shí),該技術(shù)棧使得Hadoop工程師與軟件工程師的工作可以有效分離,充分利用技術(shù)人員的技能特點(diǎn)。

關(guān)鍵詞:網(wǎng)站日志;集群;Hadoop;

中圖分類號:TP391?????文獻(xiàn)標(biāo)識碼:A

一、概述

對于GB、TB級別的半結(jié)構(gòu)化數(shù)據(jù)的處理,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已經(jīng)無法在特定的時(shí)間內(nèi)進(jìn)行查詢分析,隨著互聯(lián)網(wǎng)2.0時(shí)代的來臨,Web數(shù)據(jù)已經(jīng)呈指數(shù)級增長,單一結(jié)點(diǎn)的平臺已經(jīng)無法完成海量數(shù)據(jù)的分析任務(wù)。Hadoop是一個(gè)適用于大數(shù)據(jù)處理分析的分布式平臺,其生態(tài)系統(tǒng)組件包括:Flume、Hive、Sqoop等,通過Mapreduce對數(shù)據(jù)進(jìn)行預(yù)處理,導(dǎo)入至Hive進(jìn)行統(tǒng)計(jì)分析,通過Sqoop組件將分析結(jié)果同步到關(guān)系型數(shù)據(jù)庫,對于大規(guī)模數(shù)據(jù)處理方面,該技術(shù)棧在企業(yè)中得到了廣泛應(yīng)用。

Echarts是一個(gè)強(qiáng)大開源的圖表JS類庫,對Hive的分析結(jié)果能夠進(jìn)行圖表化展示,供企業(yè)管理層進(jìn)行決策。

二、相關(guān)技術(shù)

Hadoop是一個(gè)開源的大數(shù)據(jù)計(jì)算框架,具有HDFS、MapReduce、Yarn三大核心組件,開發(fā)人員只需要實(shí)現(xiàn)map()以及reduce方法就能夠快速編寫MapReduce程序,大大降低了大數(shù)據(jù)開發(fā)的難度。同時(shí),Hadoop具有強(qiáng)大的生態(tài)系統(tǒng),F(xiàn)lume擅長日志的收集、聚合以及傳輸;Hive是一個(gè)數(shù)據(jù)倉庫系統(tǒng),提供強(qiáng)大的HQL功能;Sqoop是一款HDFS(Hive)與關(guān)系型數(shù)據(jù)庫的傳遞工具。

ECharts屬于Apache的孵化項(xiàng)目,由百度開發(fā),是一個(gè)使用JavaScript實(shí)現(xiàn)的開源可視化庫,可以流暢的運(yùn)行在?PC和移動(dòng)設(shè)備上,提供直觀,交互豐富,可高度個(gè)性化定制的數(shù)據(jù)可視化圖表,在數(shù)據(jù)可視化方面具有廣泛應(yīng)用。

三、系統(tǒng)設(shè)計(jì)

基于MapReduce+Hive+Sqoop+Echarts技術(shù)的網(wǎng)站日志分析系統(tǒng)的系統(tǒng)架構(gòu)如圖1所示:

圖1??系統(tǒng)架構(gòu)圖

1、日志采集模塊:Flume是一個(gè)高可用的日志采集、聚合和傳輸?shù)腍adoop組件,負(fù)責(zé)將各個(gè)前端web服務(wù)器中的日志傳送到日志接收節(jié)點(diǎn)上。Flume的數(shù)據(jù)流由事件(Event)貫穿始終。事件是Flume的基本數(shù)據(jù)單位,它攜帶日志數(shù)據(jù)(字節(jié)數(shù)組形式)并且攜帶有頭信息,這些Event由Agent外部的Source生成,當(dāng)Source捕獲事件后會(huì)進(jìn)行特定的格式化,然后Source會(huì)把事件推入(單個(gè)或多個(gè))Channel中。你可以把Channel看作是一個(gè)緩沖區(qū),它將保存事件直到Sink處理完該事件。Sink負(fù)責(zé)持久化日志或者把事件推向另一個(gè)Source。能保證Flume的可靠性及可恢復(fù)性。

2、數(shù)據(jù)清洗模塊:通過Flume采集過來的日志,通常需要經(jīng)過特定的處理,此時(shí)需要自定義一個(gè)MapReduce程序完成特定的任務(wù),將清洗過后的數(shù)據(jù),作為Hive的數(shù)據(jù)源。MapReduce首先對輸入文件分片,Map輸出的中間結(jié)果會(huì)先放在內(nèi)存緩沖區(qū)中,從緩沖區(qū)寫到磁盤的時(shí)候,會(huì)進(jìn)行分區(qū)并排序,接下來進(jìn)入reduce階段,每個(gè)reducer對應(yīng)一個(gè)ReduceTask,在真正開始reduce之前,先要從分區(qū)中抓取數(shù)據(jù),相同的分區(qū)的數(shù)據(jù)會(huì)進(jìn)入同一個(gè)reduce。這一步中會(huì)從所有map輸出中抓取某一分區(qū)的數(shù)據(jù),在抓取的過程中伴隨著排序、合并,最后得到完整的reduce輸出。

3、查詢分析模塊:Hive部署在Hadoop集群中的NameNode,也即master節(jié)點(diǎn)上,具體的查詢分析由HQL來完成。Hive執(zhí)行具體的?HQL語句的步驟如下:一、用戶通過客戶端組件(cli,webUI等)提交HQL語句。二、驅(qū)動(dòng)器將接收到的?HQL語句發(fā)送到編譯器,編譯器將?HQL語句進(jìn)行解析、優(yōu)化。最終的優(yōu)化策略是一個(gè)由MapReduce任務(wù)和HDFS任務(wù)組成的有向無環(huán)圖。最后執(zhí)行引擎利用?Hadoop來執(zhí)行這些任務(wù)。

4、數(shù)據(jù)可視化模塊:通過Sqoop將Hive查詢結(jié)果同步到關(guān)系型數(shù)據(jù)庫,使用J2EE+Echarts技術(shù)對結(jié)果以圖表形式進(jìn)行展示。用戶在向其提供的瀏覽器客戶端上輸入或選擇需要查詢的內(nèi)容,后臺利用J2EE技術(shù)連接關(guān)系型數(shù)據(jù)庫,將查詢結(jié)果以JSON格式作為Echarts的數(shù)據(jù)源,進(jìn)行以圖表、表格等多種形式進(jìn)行展示。

四、實(shí)驗(yàn)結(jié)果分析

為了測試系統(tǒng),我們在特定的平臺上做了實(shí)驗(yàn),分別利用幾組規(guī)模不同的數(shù)據(jù)分別在單機(jī)情況下和集群情況下進(jìn)行時(shí)間測試。

實(shí)驗(yàn)環(huán)境。實(shí)驗(yàn)環(huán)境為單機(jī)配置為:處理器類型:Intel(R)Core(TM)i5-8250U;內(nèi)存容量:8GB。Hadoop集群是由5臺與單機(jī)配置相同的服務(wù)器組成。在集群中的所有服務(wù)器上都運(yùn)行Centos7.4操作系統(tǒng),并安裝配置?Hadoop?2.8。在這?5臺服務(wù)器中,其中的一臺用來作為Master,并安裝配置Hive?2.3.6,其余4臺作為數(shù)據(jù)節(jié)點(diǎn)。

實(shí)驗(yàn)數(shù)據(jù)及內(nèi)容。在實(shí)驗(yàn)中,我們采用實(shí)際網(wǎng)站中的日志作為輸入。實(shí)驗(yàn)的內(nèi)容是統(tǒng)計(jì)某一給定的時(shí)間片內(nèi),用戶訪問網(wǎng)站使用的代理工具前五排名。

③?實(shí)驗(yàn)結(jié)果分析。通過分析實(shí)驗(yàn)結(jié)果,我們發(fā)現(xiàn),如果數(shù)據(jù)量小于5G,那么?Hadoop集群并不能發(fā)揮其海量處理的優(yōu)勢,甚至?xí)r間消耗大于單機(jī)處理。但是,當(dāng)要處理的網(wǎng)站日志達(dá)到10G的時(shí)候,Hadoop集群的優(yōu)勢就會(huì)隨著數(shù)據(jù)量的逐漸增大而顯現(xiàn)出來。如圖?2所示。

圖2??單擊與集群模式耗時(shí)比對圖

五、結(jié)論

本文使用了Flume、MapReduce、Hive、Sqoop、Echarts等技術(shù)設(shè)計(jì)了一種基于Hadoop集群的網(wǎng)站日志分析平臺,相比于單機(jī)模式具有較大的優(yōu)勢,數(shù)據(jù)量越大越能體現(xiàn)出集群的優(yōu)勢;同時(shí),該平臺使得Hadoop工程師可以專注于數(shù)據(jù)的收集、清洗及分析,傳統(tǒng)軟件工程師可以專注于數(shù)據(jù)可視化,將兩者的工作有效分離出來,克服了開發(fā)人員的技能短板問題,能夠面向企業(yè)商業(yè)應(yīng)用,具有積極的推廣意義。

參考文獻(xiàn)

[1]??云計(jì)算中Hadoop技術(shù)研究與應(yīng)用綜述[J].夏靖波,韋澤鯤,付凱,陳珍.計(jì)算機(jī)科學(xué).2016(11).

[2]??周勇,劉鋒.基于Hadoop的Web日志分析系統(tǒng)的設(shè)計(jì)[J]?軟件工程,2019,2(3):11—12.

[3]??基于Hadoop平臺的日志分析模型[J].于兆良,張文濤,葛慧,艾偉,孫運(yùn)乾.計(jì)算機(jī)工程與設(shè)計(jì).2016(02)

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

[5]??TomWhite.Hadoop權(quán)威指南[M].曾大聃,周傲英,譯.北京:清華大學(xué)出版社,2010.

猜你喜歡
集群
小議產(chǎn)業(yè)集群內(nèi)涵
勤快又呆萌的集群機(jī)器人
集群品牌是集群整體的品牌還是集群產(chǎn)品的品牌?
數(shù)字集群的未來之路(上篇)