kafka處理千萬級的資料,產生的初衷為了資料的收集及合理的消費,實際資料怎樣獲取
幾乎所有的專案都會使用log4j元件,為log4j元件設計乙個通道,讓他採集到的資料直接傳送給訊息系統,再有訊息系統傳送給其他的分析程式,這樣就不需要大面積的修改已有的程式**了
flume可以理解為日誌系統和訊息元件之間的過渡段
flume核心的本質要結合log4j和訊息元件的使用,會產生大規模的日誌資料,所以首選kafka
flume
的應用例項:
一方面是可以模組化,功能劃分更加清晰,從
「資料採集
--資料接入--流
式計算--資料輸出/儲存
.資料採集
負責從各節點上實時採集資料,選用
cloudera
的flume
來實現 2)
.資料接入
由於採集資料的速度和資料處理的速度不一定同步,因此新增乙個訊息中介軟體來作為緩衝,選用
apache
的kafka 3
).流式計算
對採集到的資料進行實時分析,選用
apache
的storm 4
).資料輸出
對分析後的結果持久化,暫定用
mysql
另一方面是模組化之後,假如當
storm
掛掉了之後,資料採集和資料接入還是繼續在跑著,資料不會丟失,
storm
起來之後可以繼續進行流式計算;
Flume基礎概述
flume的核心就是乙個agent,這個agent對外有兩個進行互動的地方,乙個是接受資料的輸入 source,乙個是資料的輸出sink,sink負責將資料傳送到外部指定的目的地。source接收到資料之後,將資料傳送給channel,chanel作為乙個資料緩衝區會臨時存放這些資料,隨後sink會...
Flume 基本使用
配置agent init a1.sources s1 a1.channels c1 a1.sinks k1 sources 1 動態監控單個日誌檔案 a1.sources.s1.type exec a1.sources.s1.command tail f opt cdh5.7.6 hive 1.1....
最基本的flume配置
定義agent名,source channel sink的名稱 a4.sources r1 a4.channels c1 a4.sinks k1 具體定義source a4.sources.r1.type spooldir a4.sources.r1.spooldir root training l...