Flume學(xué)習(xí)

1. Flume架構(gòu)

?https://blog.csdn.net/a2011480169/article/details/51544664

2. flume核心是把數(shù)據(jù)從數(shù)據(jù)源source收集過(guò)來(lái),再將收集到的數(shù)據(jù)送到指定的目的地sink,為保證輸送過(guò)程成功,在送達(dá)sink之前,會(huì)先緩存數(shù)據(jù)channel,待數(shù)據(jù)真正到達(dá)目的地sink后,flume再刪除自己緩存的數(shù)據(jù)

3. event

? ? 事務(wù)保證是在event級(jí)別進(jìn)行的

? ? event將傳輸?shù)臄?shù)據(jù)進(jìn)行封裝,是flume傳輸數(shù)據(jù)的基本單位,如果是文本文件,通常是一行記錄

? ? event本身為一個(gè)字節(jié)數(shù)據(jù)

4. agent

? ? agent本身是一個(gè)java進(jìn)程,運(yùn)行在日志收集節(jié)點(diǎn)

5. flume運(yùn)行機(jī)制

? ? source接收到數(shù)據(jù)之后,將數(shù)據(jù)發(fā)送給channel,channel作為數(shù)據(jù)緩沖區(qū)會(huì)臨時(shí)存放這些數(shù)據(jù),隨后,sink會(huì)將channel中的數(shù)據(jù)發(fā)送到外部指定的目的地,例如HDFS?

? ? 只有當(dāng)sink將channel中的數(shù)據(jù)成功發(fā)送之后,channel才會(huì)刪除臨時(shí)數(shù)據(jù),這種機(jī)制保證了數(shù)據(jù)傳輸?shù)目煽啃院桶踩?/p>

6. flume支持多級(jí)flume的agent,例如sink可以將數(shù)據(jù)寫(xiě)入下一個(gè)agent的source中;flume還支持扇入(fan-in),source可以接受多個(gè)輸入,和扇出(fan-out),就是sink可以將數(shù)據(jù)輸出到多個(gè)目的地

7. 案例

????https://www.cnblogs.com/zyde/p/8946069.html

? ? NetCat Source:監(jiān)聽(tīng)一個(gè)指定的網(wǎng)絡(luò)端口,即只要應(yīng)用程序向這個(gè)端口寫(xiě)數(shù)據(jù),這個(gè)source組件就可以獲取到信息,其中sink:logger,Channel:memory

? ? NetCat Source:監(jiān)聽(tīng)一個(gè)指定的網(wǎng)絡(luò)端口,其中sink:hdfs,Channel:file

? ? Spooling Directory Source:監(jiān)聽(tīng)一個(gè)指定的目錄,即只要應(yīng)用程序向這個(gè)指定的目錄中添加新文件,source組件就可以獲取該信息,并解析該文件的內(nèi)容,然后寫(xiě)入channel,寫(xiě)入后,標(biāo)記該文件已完成或刪除該文件,其中sink:logger,channel:memory

? ? Spooling Directory Source:監(jiān)聽(tīng)一個(gè)指定目錄,其中sink:hdfs,channel:file

? ? Exec Source:監(jiān)聽(tīng)一個(gè)指定的命令,獲取一條命令的結(jié)果作為它的數(shù)據(jù)源,常用命令為tail -f file,即

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容