Flume大白话(●—●)
目錄
🧡Flume事務
Put事務
Take事務
🧡Flume內部原理
Channel Selector復本&多路復用
Sink Processor負載均衡&故障轉移
🧡聚合
💟這里是CS大白話專場,讓枯燥的學習變得有趣!
💟沒有對象不要怕,我們new一個出來,每天對ta說不盡情話!
💟好記性不如爛鍵盤,自己總結不如收藏別人!
💌Flume是基于流式的高可用,高可靠,分布式的海量日志采集、聚合和傳輸的系統。
🍠基本流程:Web服務器→Source→Channel→Sink→HDFS。
🧡Flume事務
💌在Source→Channel(Put推送)和Channel→Sink(Take拉取)之間存在事務。
Put事務
🍠doPut:將Source推送的數據先寫入緩沖區putList。
🍠doCommit:檢查Channel內存是否足夠。
🍠doRollback:Channel內存不足,回滾數據。
Take事務
🍠doTake:將數據拉取到緩沖區putList。
🍠doCommit:如果數據全部發送成功,清空緩沖區putList。
🍠doRollback:數據發送異常,回滾數據。
🧡Flume內部原理
💌先將事件由Channel Processor傳遞給Interceptors(攔截器鏈),對數據進行丟棄/添加信息,再將事件給Channel Selector(選擇器)決定如何發送數據給Channel,接著由Sink Processor決定將拉取的數據發送給哪個Sink。
Channel Selector復本&多路復用
🍠ReplicatingSelector(復本):默認策略,將一份數據發送給綁定的所有Channel。
🍠MultiplexingSelector(多路復用):可以配置數據發給哪個Channel,結合Interceptors使用,根據數據的頭信息進行處理。
Sink Processor負載均衡&故障轉移
💌Channel和Sink是1:N的關系。
🍠DefaultSinkProcessor:一個Channel只能綁定一個Sink。
🍠LoadBalancingSinkProcessor(負載均衡):以輪詢的策略拉取Channel中的數據。
🍠FailoverSinkProcessor(故障轉移):由當前優先級最高的Sink拉取。
🧡聚合
💌多臺服務器的Sink連接到一臺服務器的Source。每臺服務器部署一個Flume采集日志,集中傳送到一臺服務器的Flume,再由此Flume上傳到HDFS、Hive、Hbase等,進行日志分析。
總結
以上是生活随笔為你收集整理的Flume大白话(●—●)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何破解单片机的编程软件keil5?
- 下一篇: 阿里联合UC推出移动搜索“神马”