flume介紹與原理(轉(zhuǎn)載)

1 .背景?

flume是由cloudera軟件公司產(chǎn)出的可分布式日志收集系統(tǒng)漾月,后與2009年被捐贈了apache軟件基金會,為hadoop相關(guān)組件之一炭菌。尤其近幾年隨著flume的不斷被完善以及升級版本的逐一推出姆怪,特別是flume-ng;同時flume內(nèi)部的各種組件不斷豐富杯道,用戶在開發(fā)的過程中使用的便利性得到很大的改善,現(xiàn)已成為apache top項目之一.

2 .概述

1. ?什么是flume?

apache Flume 是一個從可以收集例如日志豹爹,事件等數(shù)據(jù)資源裆悄,并將這些數(shù)量龐大的數(shù)據(jù)從各項數(shù)據(jù)資源中集中起來存儲的工具/服務(wù),或者數(shù)集中機制臂聋。flume具有高可用光稼,分布式崖技,配置工具,其設(shè)計的原理也是基于將數(shù)據(jù)流钟哥,如日志數(shù)據(jù)從各種網(wǎng)站服務(wù)器上匯集起來存儲到HDFS迎献,HBase等集中存儲器中。其結(jié)構(gòu)如下圖所示:

2.應(yīng)用場景

比如我們在做一個電子商務(wù)網(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洲炊。

3.Flume的優(yōu)勢

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

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

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

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

5. ? Flume是可靠的唧领,容錯性高的藻雌,可升級的,易管理的,并且可定制的斩个。

4. Flume具有的特征:

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

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

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

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

5. 支持多路徑流量,多管道接入流量腔呜,多管道接出流量叁温,上下文路由等

6. 可以被水平擴展

3. Flume的結(jié)構(gòu)

1. flume的外部結(jié)構(gòu):

如上圖所示,數(shù)據(jù)發(fā)生器(如:facebook,twitter)產(chǎn)生的數(shù)據(jù)被被單個的運行在數(shù)據(jù)發(fā)生器所在服務(wù)器上的agent所收集核畴,之后數(shù)據(jù)收容器從各個agent上匯集數(shù)據(jù)并將采集到的數(shù)據(jù)存入到HDFS或者HBase中

2. Flume 事件

事件作為Flume內(nèi)部數(shù)據(jù)傳輸?shù)淖罨締卧?它是由一個轉(zhuǎn)載數(shù)據(jù)的字節(jié)數(shù)組(該數(shù)據(jù)組是從數(shù)據(jù)源接入點傳入膝但,并傳輸給傳輸器,也就是HDFS/HBase)和一個可選頭部構(gòu)成.

典型的Flume 事件如下面結(jié)構(gòu)所示:

我們在將event在私人定制插件時比如:flume-hbase-sink插件是谤草,獲取的就是event然后對其解析跟束,并依據(jù)情況做過濾等莺奸,然后在傳輸給HBase或者HDFS.

3.Flume Agent

我們在了解了Flume的外部結(jié)構(gòu)之后,知道了Flume內(nèi)部有一個或者多個Agent,然而對于每一個Agent來說,它就是一共獨立的守護進程(JVM),它從客戶端哪兒接收收集,或者從其他的 Agent哪兒接收,然后迅速的將獲取的數(shù)據(jù)傳給下一個目的節(jié)點sink,或者agent.?如下圖所示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是一個完整的事務(wù),這一點保證了數(shù)據(jù)在收發(fā)的時候的一致性. 并且它可以和任意數(shù)量的source和sink鏈接. 支持的類型有: JDBC channel , File System channel , Memort channel等.

sink:

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

它的組合形式舉例:

以上介紹的flume的主要組件,下面介紹一下Flume插件:

1. Interceptors攔截器

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

2. 管道選擇器 channels Selectors

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

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

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

3.sink線程

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

----------------------------------------------------<完>-------------------------------------------------------

參考資料:

http://www.tutorialspoint.com/apache_flume/apache_flume_data_flow.htm

作者: gongxijun

請注明轉(zhuǎn)載自 http://www.cnblogs.com/gongxijun/p/5656778.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市冀宴,隨后出現(xiàn)的幾起案子灭贷,更是在濱河造成了極大的恐慌,老刑警劉巖略贮,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甚疟,死亡現(xiàn)場離奇詭異,居然都是意外死亡逃延,警方通過查閱死者的電腦和手機览妖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來揽祥,“玉大人讽膏,你說我怎么就攤上這事≈舴幔” “怎么了府树?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長愈案。 經(jīng)常有香客問我挺尾,道長,這世上最難降的妖魔是什么站绪? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮丽柿,結(jié)果婚禮上恢准,老公的妹妹穿的比我還像新娘。我一直安慰自己甫题,他們只是感情好馁筐,可當(dāng)我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著坠非,像睡著了一般敏沉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上炎码,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天盟迟,我揣著相機與錄音,去河邊找鬼潦闲。 笑死攒菠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的歉闰。 我是一名探鬼主播辖众,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼卓起,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了凹炸?” 一聲冷哼從身側(cè)響起戏阅,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎啤它,沒想到半個月后奕筐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡蚕键,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年救欧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锣光。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡笆怠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出誊爹,到底是詐尸還是另有隱情蹬刷,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布频丘,位于F島的核電站办成,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏搂漠。R本人自食惡果不足惜迂卢,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望桐汤。 院中可真熱鬧而克,春花似錦、人聲如沸怔毛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拣度。三九已至碎绎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抗果,已是汗流浹背筋帖。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留窖张,地道東北人幕随。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像宿接,于是被迫代替她去往敵國和親赘淮。 傳聞我的和親對象是個殘疾皇子辕录,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,700評論 2 345

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

  • 博客原文 翻譯作品,水平有限梢卸,如有錯誤走诞,煩請留言指正。原文請見 官網(wǎng)英文文檔 引言 概述 Apache Flume...
    rabbitGYK閱讀 11,447評論 13 34
  • 介紹 概述 Apache Flume是為有效收集聚合和移動大量來自不同源到中心數(shù)據(jù)存儲而設(shè)計的可分布蛤高,可靠的蚣旱,可用...
    ximengchj閱讀 3,513評論 0 13
  • Flume的下載方式: wget http://www.apache.org/dyn/closer.lua/flu...
    晴天哥_王志閱讀 635評論 0 1
  • 1. Flume簡介 Apache Flume是一個分布式的、可靠的戴陡、可用的塞绿,從多種不同的源收集、聚集恤批、移動大量日...
    奉先閱讀 4,462評論 2 5
  • 第一聲積雪化為浮云 蟈蟈還沒睡醒 我异吻,鋪開萬里無云 一日長三寸 一寸懵懂 一寸相思,還有 一寸六月里的笛音 我日日...
    藍朵世界閱讀 669評論 44 50