Flume 簡介與基本工作原理

2021-09-28 18:15:29 字數 1261 閱讀 7461

flume是cloudera提供的乙個高可用的,高可靠的,分布式的海量日誌採集、聚合和傳輸的系統,flume支援在日誌系統中定製各類資料傳送方,用於收集資料;同時,flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力。

1.日誌收集

flume最早是cloudera提供的日誌收集系統,目前是apache下的乙個孵化專案,flume支援在日誌系統中定製各類資料傳送方,用於收集資料。

2.資料處理

flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力 flume提供了從console(控制台)、rpc(thrift-rpc)、text(檔案)、tail(unix tail)、syslog(syslog日誌系統,支援tcp和udp等2種模式),exec(命令執行)等資料來源上收集資料的能力。

flume的核心是把資料從資料來源(source)收集過來,在將收集到的資料送到指定的目的地(sink)。

為了保證輸送的過程一定成功,在送到目的地(sink)之前,會先快取資料(channel),待資料真正到達目的地(sink)後,flume在刪除自己快取的資料。

在整個資料的傳輸的過程中,流動的是event,即事務保證是在event級別進行的。

那麼什麼是event呢?

event將傳輸的資料進行封裝,是flume傳輸資料的基本單位。如果是文字檔案,通常是一行記錄,event也是事務的基本單位。event從source,流向channel,再到sink,本身為乙個位元組陣列,並可攜帶headers(頭資訊)資訊。event代表著乙個資料的最小完整單元,從外部資料來源來,向外部的目的地去。

flume使用agent來收集日誌,agent包括三個組成部分:

source:收集資料

channel:儲存資料

sink :輸出資料

flume使用source接收日誌,然後快取到channel中,最後通過sink將資料輸出到目的地。只有在sink將channel中的資料成功傳送出去之後,channel才會將臨時資料進行刪除,這種機制保證了資料傳輸的可靠性與安全性。

flume支援agent串聯操作,也就是說可以將上乙個agent的sink輸出到作為下乙個agent的source的輸入。

source還支援接受多個輸入,sink也可以將資料輸出到多個目的地中。

Flume工作原理詳解

flume是乙個分布式 可靠 和高可用的海量日誌採集 聚合和傳輸的系統。flume可以採集檔案 socket資料報等各種形式源資料,又可以將採集到的資料輸出到hdfs hbase hive kafka等眾多外部儲存系統中。一般的採集需求,通過對flume的簡單配置即可實現。flume針對特殊場景也具...

iCloud工作原理簡介

於 icloud 馬上就要和廣大果迷見面了,相信不少果迷已經對該服務期待已久。被冠以 ios 5 最重要更新之一的 icloud 到底是如何為使用者服務的呢?下面帶果迷們一起了解一下 icloud 的內部構造。icloud 最簡單的存在形式其實就是乙個特定的資料夾,它位於 ios 裝置的 priva...

電容降壓工作原理簡介

電容降壓的工作原理並不複雜。他的工作原理是利用電容在一定的交流訊號頻率下產生的容抗來限制最大工作電流。例如,在50hz的工頻條件下,乙個1uf的電容所產生的容抗約為3180歐姆。當220v的交流電壓加在電容器的兩端,則流過電容的最大電流約為70ma。雖然流過電容的電流有70ma,但在電容器上並不產生...