幾十條業(yè)務線日志系統(tǒng)如何收集處理樱调?

在互聯(lián)網(wǎng)迅猛發(fā)展的今天 各大廠發(fā)揮十八般武藝的收集用戶的各種信息约素,甚至包括點擊的位置,我們也經(jīng)常發(fā)現(xiàn)自己剛搜完一個東西笆凌,再打開網(wǎng)頁時每個小廣告都會出現(xiàn)與之相關聯(lián)的商品或信息圣猎,在感嘆智能的同時不驚想 什么時候泄露的行蹤。

許多公司的業(yè)務平臺每天都會產(chǎn)生大量的日志數(shù)據(jù)乞而。收集業(yè)務日志數(shù)據(jù)送悔,供離線和在線的分析系統(tǒng)使用,正是日志收集系統(tǒng)的要做的事情爪模。

用戶的數(shù)據(jù)除了這種后臺默默的收集外欠啤,還有各種運行的日志數(shù)據(jù)和后臺操作日志,因此每個業(yè)務可以算是一種類型的日志屋灌,那稍大點的公司就會有幾十種日志類型要收集洁段,而且業(yè)務都分布到不同的服務器上,這就導致了日志的匯集的困難共郭,

在此可以用Flume來解決此類問題祠丝,參考以下架構。

Flume是Cloudera提供的一個高可用的除嘹,高可靠的写半,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng)尉咕,目前已經(jīng)是Apache的一個子項目叠蝇。

Flume作為一個日志收集工具,非常輕量級龙考,基于一個個Flume Agent蟆肆,能夠構建一個很復雜很強大的日志收集系統(tǒng)矾睦,它的靈活性和優(yōu)勢,?高可用性炎功,高可靠性和可擴展性是日志收集系統(tǒng)所具有的基本特征枚冗。主要體現(xiàn)在如下幾點:

模塊化設計:在其Flume Agent內(nèi)部可以定義三種組件:Source、Channel蛇损、Sink

組合式設計:可以在Flume Agent中根據(jù)業(yè)務需要組合Source赁温、Channel、Sink三種組件淤齐,構建相對復雜的日志流管道

插件式設計:可以通過配置文件來編排收集日志管道的流程股囊,減少對Flume代碼的侵入性

可擴展性:我們可以根據(jù)自己業(yè)務的需要來定制實現(xiàn)某些組件(Source、Channel更啄、Sink)

支持集成各種主流系統(tǒng)和框架:像Hadoop稚疹、HBase、Hive祭务、Kafka内狗、ElasticSearch、Thrift义锥、Avro等柳沙,都能夠很好的和Flume集成

高級特性:Failover、Load balancing拌倍、Interceptor等

Flume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方赂鲤,用于收集數(shù)據(jù);同時柱恤,F(xiàn)lume提供對數(shù)據(jù)進行簡單處理数初,并寫到各種數(shù)據(jù)接受方(可定制)的能力。

注:當前Flume有兩個版本Flume 0.9X版本的統(tǒng)稱Flume-og膨更,F(xiàn)lume1.X版本的統(tǒng)稱Flume-ng妙真。由于Flume-ng經(jīng)過重大重構,與Flume-og有很大不同荚守,使用時請注意區(qū)分珍德。

Flume的優(yōu)勢

1. ?Flume可以將應用產(chǎn)生的數(shù)據(jù)存儲到任何集中存儲器中,比如HDFS,HBase

2. ?當收集數(shù)據(jù)的速度超過將寫入數(shù)據(jù)的時候矗漾,也就是當收集信息遇到峰值時锈候,這時候收集的信息非常大,甚至超過了系統(tǒng)的寫入數(shù)據(jù)能力敞贡,這時候泵琳,F(xiàn)lume會在數(shù)據(jù)生產(chǎn)者和數(shù)據(jù)收容器間做出調(diào)整,保證其能夠在兩者之間提供一共平穩(wěn)的數(shù)據(jù).

3. ? 提供上下文路由特征

4. ? Flume的管道是基于事務,保證了數(shù)據(jù)在傳送和接收時的一致性.

5. ? Flume是可靠的获列,容錯性高的谷市,可升級的,易管理的,并且可定制的击孩。

Flume具有的特征:

1. Flume可以高效率的將多個網(wǎng)站服務器中收集的日志信息存入HDFS/HBase中

2. 使用Flume迫悠,我們可以將從多個服務器中獲取的數(shù)據(jù)迅速的移交給Hadoop中

3. 除了日志信息,F(xiàn)lume同時也可以用來接入收集規(guī)模宏大的社交網(wǎng)絡節(jié)點事件數(shù)據(jù)巩梢,比如facebook,twitter,電商網(wǎng)站如亞馬遜创泄,flipkart等

4. 支持各種接入資源數(shù)據(jù)的類型以及接出數(shù)據(jù)類型

5. 支持多路徑流量,多管道接入流量括蝠,多管道接出流量鞠抑,上下文路由等

6. 可以被水平擴展

Flume的結構

Agent主要由:source,channel,sink三個組件組成.

Source:

從數(shù)據(jù)發(fā)生器接收數(shù)據(jù),并將接收的數(shù)據(jù)以Flume的event格式傳遞給一個或者多個通道channal,Flume提供多種數(shù)據(jù)接收的方式,比如Avro,Thrift,twitter1%等

Channel:

channal是一種短暫的存儲容器,它將從source處接收到的event格式的數(shù)據(jù)緩存起來,直到它們被sinks消費掉,它在source和sink間起著一共橋梁的作用,channal是一個完整的事務,這一點保證了數(shù)據(jù)在收發(fā)的時候的一致性. 并且它可以和任意數(shù)量的source和sink鏈接. 支持的類型有: JDBC channel , File System channel , Memort channel等.

sink:

sink將數(shù)據(jù)存儲到集中存儲器比如Hbase和HDFS,它從channals消費數(shù)據(jù)(events)并將其傳遞給目標地. 目標地可能是另一個sink,也可能HDFS,HBase.

它的組合形式舉例:

以上介紹的flume的主要組件

下面介紹一下Flume插件:

1. Interceptors攔截器

用于source和channel之間,用來更改或者檢查Flume的events數(shù)據(jù)

2. 管道選擇器 channels Selectors

在多管道是被用來選擇使用那一條管道來傳遞數(shù)據(jù)(events).?管道選擇器又分為如下兩種:

默認管道選擇器: ?每一個管道傳遞的都是相同的events

多路復用通道選擇器: ?依據(jù)每一個event的頭部header的地址選擇管道.

3.sink線程

用于激活被選擇的sinks群中特定的sink,用于負載均衡.

由于Flume的日志源可以來自另外一個Flume,可以同時發(fā)送給多個目標忌警,且Flume自身可以做負載搁拙,由此可以設計出高可用,可擴展慨蓝,高負載的日志架構感混。

應用場景

比如我們在做一個電子商務網(wǎng)站,然后我們想從消費用戶中訪問點特定的節(jié)點區(qū)域來分析消費者的行為或者購買意圖. 這樣我們就可以更加快速的將他想要的推送到界面上礼烈,實現(xiàn)這一點,我們需要將獲取到的她訪問的頁面以及點擊的產(chǎn)品數(shù)據(jù)等日志數(shù)據(jù)信息收集并移交給Hadoop平臺上去分析.而Flume正是幫我們做到這一點∑排埽現(xiàn)在流行的內(nèi)容推送此熬,比如廣告定點投放以及新聞私人定制也是基于次,不過不一定是使用FLume,畢竟優(yōu)秀的產(chǎn)品很多滑进,比如facebook的Scribe犀忱,還有Apache新出的另一個明星項目chukwa,還有淘寶Time Tunnel扶关。

flume+kafka+storm+mysql構建大數(shù)據(jù)實時系統(tǒng)

Flume+HDFS+KafKa+Strom實現(xiàn)實時推薦阴汇,反爬蟲服務等服務在美團的應用

Flume+Hadoop+Hive的離線分析網(wǎng)站用戶瀏覽行為路徑

Flume+Logstash+Kafka+Spark Streaming進行實時日志處理分析

Flume+Spark + ELK新浪數(shù)據(jù)系統(tǒng)實時監(jiān)控平臺

列舉不完了 ……………………………………………………………………

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市节槐,隨后出現(xiàn)的幾起案子搀庶,更是在濱河造成了極大的恐慌,老刑警劉巖铜异,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哥倔,死亡現(xiàn)場離奇詭異,居然都是意外死亡揍庄,警方通過查閱死者的電腦和手機咆蒿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沃测,你說我怎么就攤上這事缭黔。” “怎么了蒂破?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵馏谨,是天一觀的道長。 經(jīng)常有香客問我寞蚌,道長田巴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任挟秤,我火速辦了婚禮壹哺,結果婚禮上,老公的妹妹穿的比我還像新娘艘刚。我一直安慰自己管宵,他們只是感情好,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布攀甚。 她就那樣靜靜地躺著箩朴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪秋度。 梳的紋絲不亂的頭發(fā)上炸庞,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機與錄音荚斯,去河邊找鬼埠居。 笑死,一個胖子當著我的面吹牛事期,可吹牛的內(nèi)容都是我干的滥壕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼兽泣,長吁一口氣:“原來是場噩夢啊……” “哼绎橘!你這毒婦竟也來了?” 一聲冷哼從身側響起唠倦,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤称鳞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后牵敷,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胡岔,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年枷餐,在試婚紗的時候發(fā)現(xiàn)自己被綠了靶瘸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖怨咪,靈堂內(nèi)的尸體忽然破棺而出屋剑,到底是詐尸還是另有隱情,我是刑警寧澤诗眨,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布唉匾,位于F島的核電站,受9級特大地震影響匠楚,放射性物質(zhì)發(fā)生泄漏巍膘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一芋簿、第九天 我趴在偏房一處隱蔽的房頂上張望峡懈。 院中可真熱鬧,春花似錦与斤、人聲如沸肪康。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽磷支。三九已至,卻和暖如春食寡,著一層夾襖步出監(jiān)牢的瞬間雾狈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工抵皱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留箍邮,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓叨叙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親堪澎。 傳聞我的和親對象是個殘疾皇子擂错,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 介紹 概述 Apache Flume是為有效收集聚合和移動大量來自不同源到中心數(shù)據(jù)存儲而設計的可分布,可靠的樱蛤,可用...
    ximengchj閱讀 3,525評論 0 13
  • 轉(zhuǎn)自http://www.aboutyun.com/thread-8317-1-1.html 問題導讀: 1.Fl...
    大時代_f479閱讀 2,097評論 0 6
  • 博客原文 翻譯作品钮呀,水平有限,如有錯誤昨凡,煩請留言指正爽醋。原文請見 官網(wǎng)英文文檔 引言 概述 Apache Flume...
    rabbitGYK閱讀 11,469評論 13 34
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)便脊,斷路器蚂四,智...
    卡卡羅2017閱讀 134,661評論 18 139
  • 第二十六天,深刻體會到堅持需要每天不斷的努力克制,而放棄只需要一秒遂赠。只想說煙挺難戒的久妆。繼續(xù)!
    言午海閱讀 1,048評論 0 0