一近上、flume簡介:
flume是一個分布式场勤、可靠、和高可用的海量日志采集和媳、聚合和傳輸?shù)南到y(tǒng)。支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方留瞳,用于收集數(shù)據(jù);同時,F(xiàn)lume提供對數(shù)據(jù)進(jìn)行簡單處理璧微,并寫到各種數(shù)據(jù)接受方(比如文本、HDFS前硫、Hbase等)的能力;
Flume 使用 java 編寫屹电,其需要運行在 Java1.6 或更高版本之上
⑴ Flume的優(yōu)勢
- Flume可以將應(yīng)用產(chǎn)生的數(shù)據(jù)存儲到任何集中存儲器中跃巡,比如HDFS,HBase
- 當(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ù).
- 提供上下文路由特征
- Flume的管道是基于事務(wù)安接,保證了數(shù)據(jù)在傳送和接收時的一致性.
- Flume是可靠的翔忽,容錯性高的歇式,可升級的,易管理的,并且可定制的材失。
⑵ Flume具有的特征:
- Flume可以高效率的將多個網(wǎng)站服務(wù)器中收集的日志信息存入HDFS/HBase中
- 使用Flume硫豆,我們可以將從多個服務(wù)器中獲取的數(shù)據(jù)迅速的移交給Hadoop中
- 除了日志信息,F(xiàn)lume同時也可以用來接入收集規(guī)模宏大的社交網(wǎng)絡(luò)節(jié)點事件數(shù)據(jù)熊响,比如facebook,twitter,電商網(wǎng)站如亞馬遜,flipkart等
- 支持各種接入資源數(shù)據(jù)的類型以及接出數(shù)據(jù)類型
- 支持多路徑流量汗茄,多管道接入流量,多管道接出流量洪碳,上下文路由等
- 可以被水平擴(kuò)展
二、架構(gòu)
Flume的架構(gòu)主要有一下幾個核心概念:
Event(事件):flume傳輸數(shù)據(jù)的基本單位瞳腌,如果是文本文件,通常是一行記錄儿捧,這也是事務(wù)的基本單位; 由一個轉(zhuǎn)
載數(shù)據(jù)的字節(jié)數(shù)組+一個可選頭部(header)構(gòu)成;
Event 從 Source,流向 Channel纯命,再到 Sink;
典型的Flume 事件如下面結(jié)構(gòu)所示: