基于分布式集群的高可用日志分析系統(tǒng)的設(shè)計
發(fā)布時間:2021-01-20 05:43
在傳統(tǒng)的訪問日志分析系統(tǒng)中,數(shù)據(jù)采集效率較低且日志采集目錄不能被遞歸監(jiān)聽,存儲系統(tǒng)及計算系統(tǒng)缺乏高可用性。構(gòu)建基于分布式集群的高可用日志分析系統(tǒng),通過Nginx直連Kafka的方式采集實時分析的數(shù)據(jù)和自定義Source組件的Flume采集離線分析的數(shù)據(jù),使用高可用的分布式文件系統(tǒng)HDFS和計算系統(tǒng)Spark分別提供持久化存儲和計算引擎,利用Mysql和Hbase分別存儲聚合數(shù)據(jù)及明細數(shù)據(jù)。實驗結(jié)果表明,該系統(tǒng)的各項功能符合預期結(jié)果,直連Nginx-Kafka的采集方式和自定義Source組件的Flume明顯提高采集效率,Zookeeper協(xié)調(diào)的分布式存儲系統(tǒng)HDFS和計算系統(tǒng)Spark均滿足高可用性,利用ALS算法測試存儲與計算系統(tǒng)的功能。
【文章來源】:中國電子科學研究院學報. 2020,15(05)北大核心
【文章頁數(shù)】:7 頁
【部分圖文】:
基于分布式集群的高可用日志分析系統(tǒng)整體架構(gòu)
1)數(shù)據(jù)采集模塊。在傳統(tǒng)的日志分析系統(tǒng)中,我們對日志數(shù)據(jù)進行分析都是通過Flume采集Nginx生成的日志文件。對于用作實時分析的數(shù)據(jù),通過Flume把日志文件發(fā)送給Kafka,Flume作為生產(chǎn)者,再由后端程序消費消息進行實時分析。但是這種方式的缺點就是效率會比較慢,在數(shù)據(jù)量較大的情況下,這對于后面的數(shù)據(jù)實時分析會產(chǎn)生一定的延遲。本文通過Nginx整合Kafka直接將訪問日志發(fā)送到Kafka中,可以縮短數(shù)據(jù)傳輸時間,提高傳輸效率。對于用作離線分析的數(shù)據(jù),本文仍采用傳統(tǒng)的數(shù)據(jù)采集方式,但通過自定義的Taildir Recursive Source可以實現(xiàn)遞歸地監(jiān)聽子目錄。自定義Source組件的Flume如圖2所示。2)數(shù)據(jù)分析模塊。其包括實時計算引擎和離線處理引擎兩種模式,以支撐大數(shù)據(jù)計算及任務調(diào)度等應用場景。其中,基于高可用的Spark計算集群,使用Spark SQL對HDFS中的訪問日志進行離線分析;使用SparkStreaming實時消費Kafka中的數(shù)據(jù),并將數(shù)據(jù)分成批次處理,然后由Spark引擎進行處理,以生成批處理的最終結(jié)果。該模塊的架構(gòu)如圖3所示。
2)數(shù)據(jù)分析模塊。其包括實時計算引擎和離線處理引擎兩種模式,以支撐大數(shù)據(jù)計算及任務調(diào)度等應用場景。其中,基于高可用的Spark計算集群,使用Spark SQL對HDFS中的訪問日志進行離線分析;使用SparkStreaming實時消費Kafka中的數(shù)據(jù),并將數(shù)據(jù)分成批次處理,然后由Spark引擎進行處理,以生成批處理的最終結(jié)果。該模塊的架構(gòu)如圖3所示。3)數(shù)據(jù)存儲模塊。數(shù)據(jù)存儲方面采用分布式存儲系統(tǒng)和關(guān)系型數(shù)據(jù)庫混搭的方式。分布式文件系統(tǒng)HDFS持久化用于離線處理的訪問日志[10]。關(guān)系型數(shù)據(jù)庫MySQL用于存放實時分析和離線分析聚合之后的各維度統(tǒng)計指標,便于數(shù)據(jù)可視化、查詢和匯總等應用。分布式列存儲系統(tǒng)Hbase具有持久化存儲大量數(shù)據(jù)(TB、PB),良好的隨機讀寫功能,同時處理結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)等特點,可用于存儲非聚合數(shù)據(jù),如訂單明細,交易記錄等[11]。
【參考文獻】:
期刊論文
[1]實時大數(shù)據(jù)挖掘系統(tǒng)的設(shè)計與實現(xiàn)[J]. 羅俊,于水,楊維,孔華鋒. 計算機應用與軟件. 2020(03)
[2]基于大數(shù)據(jù)的智能商務分析平臺開發(fā)和設(shè)計[J]. 鄭國凱,黃彩娥. 現(xiàn)代電子技術(shù). 2020(05)
[3]大數(shù)據(jù)分析技術(shù)在網(wǎng)絡領(lǐng)域中的研究綜述[J]. 馮貴蘭,李正楠,周文剛. 計算機科學. 2019(06)
[4]基于分布式Web應用的大數(shù)據(jù)日志分析方法研究[J]. 孫魯淼. 電腦知識與技術(shù). 2019(03)
[5]基于分布式集群的網(wǎng)絡瀏覽行為大數(shù)據(jù)分析平臺構(gòu)建[J]. 蔡艷婧,王強,程實. 中國電子科學研究院學報. 2019(01)
[6]云平臺中MySQL數(shù)據(jù)庫高可用性的設(shè)計與實現(xiàn)[J]. 康文杰,王勇,俸皓. 計算機工程與設(shè)計. 2018(01)
[7]大數(shù)據(jù)存儲架構(gòu)和算法研究綜述[J]. 楊俊杰,廖卓凡,馮超超. 計算機應用. 2016(09)
[8]海量遙感數(shù)據(jù)分布式集群化存儲技術(shù)研究[J]. 季艷,魯克文,張英慧. 計算機科學與探索. 2017(09)
[9]基于大數(shù)據(jù)的網(wǎng)絡輿情分析系統(tǒng)模型研究[J]. 馬梅,劉東蘇,李慧. 情報科學. 2016(03)
[10]大數(shù)據(jù)系統(tǒng)綜述[J]. 李學龍,龔海剛. 中國科學:信息科學. 2015(01)
本文編號:2988492
【文章來源】:中國電子科學研究院學報. 2020,15(05)北大核心
【文章頁數(shù)】:7 頁
【部分圖文】:
基于分布式集群的高可用日志分析系統(tǒng)整體架構(gòu)
1)數(shù)據(jù)采集模塊。在傳統(tǒng)的日志分析系統(tǒng)中,我們對日志數(shù)據(jù)進行分析都是通過Flume采集Nginx生成的日志文件。對于用作實時分析的數(shù)據(jù),通過Flume把日志文件發(fā)送給Kafka,Flume作為生產(chǎn)者,再由后端程序消費消息進行實時分析。但是這種方式的缺點就是效率會比較慢,在數(shù)據(jù)量較大的情況下,這對于后面的數(shù)據(jù)實時分析會產(chǎn)生一定的延遲。本文通過Nginx整合Kafka直接將訪問日志發(fā)送到Kafka中,可以縮短數(shù)據(jù)傳輸時間,提高傳輸效率。對于用作離線分析的數(shù)據(jù),本文仍采用傳統(tǒng)的數(shù)據(jù)采集方式,但通過自定義的Taildir Recursive Source可以實現(xiàn)遞歸地監(jiān)聽子目錄。自定義Source組件的Flume如圖2所示。2)數(shù)據(jù)分析模塊。其包括實時計算引擎和離線處理引擎兩種模式,以支撐大數(shù)據(jù)計算及任務調(diào)度等應用場景。其中,基于高可用的Spark計算集群,使用Spark SQL對HDFS中的訪問日志進行離線分析;使用SparkStreaming實時消費Kafka中的數(shù)據(jù),并將數(shù)據(jù)分成批次處理,然后由Spark引擎進行處理,以生成批處理的最終結(jié)果。該模塊的架構(gòu)如圖3所示。
2)數(shù)據(jù)分析模塊。其包括實時計算引擎和離線處理引擎兩種模式,以支撐大數(shù)據(jù)計算及任務調(diào)度等應用場景。其中,基于高可用的Spark計算集群,使用Spark SQL對HDFS中的訪問日志進行離線分析;使用SparkStreaming實時消費Kafka中的數(shù)據(jù),并將數(shù)據(jù)分成批次處理,然后由Spark引擎進行處理,以生成批處理的最終結(jié)果。該模塊的架構(gòu)如圖3所示。3)數(shù)據(jù)存儲模塊。數(shù)據(jù)存儲方面采用分布式存儲系統(tǒng)和關(guān)系型數(shù)據(jù)庫混搭的方式。分布式文件系統(tǒng)HDFS持久化用于離線處理的訪問日志[10]。關(guān)系型數(shù)據(jù)庫MySQL用于存放實時分析和離線分析聚合之后的各維度統(tǒng)計指標,便于數(shù)據(jù)可視化、查詢和匯總等應用。分布式列存儲系統(tǒng)Hbase具有持久化存儲大量數(shù)據(jù)(TB、PB),良好的隨機讀寫功能,同時處理結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)等特點,可用于存儲非聚合數(shù)據(jù),如訂單明細,交易記錄等[11]。
【參考文獻】:
期刊論文
[1]實時大數(shù)據(jù)挖掘系統(tǒng)的設(shè)計與實現(xiàn)[J]. 羅俊,于水,楊維,孔華鋒. 計算機應用與軟件. 2020(03)
[2]基于大數(shù)據(jù)的智能商務分析平臺開發(fā)和設(shè)計[J]. 鄭國凱,黃彩娥. 現(xiàn)代電子技術(shù). 2020(05)
[3]大數(shù)據(jù)分析技術(shù)在網(wǎng)絡領(lǐng)域中的研究綜述[J]. 馮貴蘭,李正楠,周文剛. 計算機科學. 2019(06)
[4]基于分布式Web應用的大數(shù)據(jù)日志分析方法研究[J]. 孫魯淼. 電腦知識與技術(shù). 2019(03)
[5]基于分布式集群的網(wǎng)絡瀏覽行為大數(shù)據(jù)分析平臺構(gòu)建[J]. 蔡艷婧,王強,程實. 中國電子科學研究院學報. 2019(01)
[6]云平臺中MySQL數(shù)據(jù)庫高可用性的設(shè)計與實現(xiàn)[J]. 康文杰,王勇,俸皓. 計算機工程與設(shè)計. 2018(01)
[7]大數(shù)據(jù)存儲架構(gòu)和算法研究綜述[J]. 楊俊杰,廖卓凡,馮超超. 計算機應用. 2016(09)
[8]海量遙感數(shù)據(jù)分布式集群化存儲技術(shù)研究[J]. 季艷,魯克文,張英慧. 計算機科學與探索. 2017(09)
[9]基于大數(shù)據(jù)的網(wǎng)絡輿情分析系統(tǒng)模型研究[J]. 馬梅,劉東蘇,李慧. 情報科學. 2016(03)
[10]大數(shù)據(jù)系統(tǒng)綜述[J]. 李學龍,龔海剛. 中國科學:信息科學. 2015(01)
本文編號:2988492
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2988492.html
最近更新
教材專著