首頁技術文章正文

Flume日志采集系統(tǒng):簡單結構和復雜結構

更新時間:2021-12-02 來源:黑馬程序員 瀏覽量:

Flume的核心角色是Agent,通過Agent可以從其他服務中采集數據,并通過內部event流的形式傳輸到Sink,并根據需求最終向下一個Agent傳輸或者進行集中式存儲。

在實際開發(fā)中,Flume需要采集數據的類型多種多樣,同時還會進行不同的中間操作,所以根據具體需求,可以將Flume日志采集系統(tǒng)分為簡單結構和復雜結構。


1. 簡單結構

當需要采集數據的生產源比較單一、簡單的時候,可以直接使用一個Agent來進行數據采集并最終存儲,結構如Flume基本架構,如下圖所示。

Flume基本機構

2. 復雜結構

有時候需要采集數據的數據源分布在不同的服務器上,使用一個Agent進行數據采集不再適用,這時就可以根據業(yè)務需求部署多個Agent進行數據采集并最終存儲,結構如下圖所示。

flueme復雜結構

Flume復雜結構——多Agent

從圖2可以看出,對每一個需要收集數據的Web服務端都搭建了一個Agent進行數據采集,接著再將這多個Agent中的數據作為下一個Agent的Source進行采集并最終集中存儲到HDFS中。

除此之外,在開發(fā)中還有可能遇到從同一個服務端采集數據,然后通過多路復用流分別傳輸并存儲到不同目的地的情況,結構如圖3所示。

flume多路復用

從圖3可以看出,根據具體需求,將一個Agent采集的數據通過不同的Channel分別流向了不同的Sink,然后再進行下一階段的傳輸或存儲(如圖3所示,將多個Sink數據分別進行了HDFS集中式存儲、作為JMS消息服務、作為另一個Agent的Source)。



猜你喜歡:

數據分析的流程是什么?如何做數據分析?

Scrapy框架的工作原理是什么?

Spark Mllib分層抽樣操作步驟

黑馬程序員python+大數據開課程

分享到:
在線咨詢 我要報名
和我們在線交談!