flume筆記二事務拓撲結構

flume事務

在這裏插入圖片描述

flume傳輸流程

在這裏插入圖片描述註釋:

source收集數據有很多來源 也可以自己寫代碼監控實時 jdbc數據源

攔截器鏈作用:可以實現解耦 複用 靈活性高

一個source可以綁定多個channel ,所以一個事件具體給哪一個channel 就交給channel選擇器

副本選擇器 Rep 發給所有channel

多路選擇器 Mul 需要指定綁定策略

#Replicating Channel Selector (default)
a1.sources = r1
a1.channels = c1 c2 c3
a1.sources.r1.selector.type = replicating
a1.sources.r1.channels = c1 c2 c3
a1.sources.r1.selector.optional = c3
#Multiplexing Channel Selector
a1.sources = r1
a1.channels = c1 c2 c3 c4
a1.sources.r1.selector.type = multiplexing
# header以前爲空 現在需要結合攔截器一起用 所有將頭中key添加爲state
a1.sources.r1.selector.header = state
# value : CZ
a1.sources.r1.selector.mapping.CZ = c1
# value : US
a1.sources.r1.selector.mapping.US = c2 c3
# 沒匹配上 c4 
a1.sources.r1.selector.default = c4

sink

# Load balancing Sink Processor
a1.sinkgroups = g1
a1.sinkgroups.g1.sinks = k1 k2
a1.sinkgroups.g1.processor.type = load_balance
a1.sinkgroups.g1.processor.backoff = true
a1.sinkgroups.g1.processor.selector = random

flume拓撲結構

簡單串聯:
在這裏插入圖片描述這種模式是將多個 flume 順序連接起來了,從最初的 source 開始到最終 sink 傳送的目的存儲系統。此模式不建議橋接過多的 flume 數量,flume 數量過多不僅會影響傳輸速率,而且一旦傳輸過程中某個節點 flume 宕機,會影響整個傳輸系統。

複製和多路複用:
在這裏插入圖片描述Flume 支持將事件流向一個或者多個目的地。這種模式可以將相同數據複製到多個channel 中,或者將不同數據分發到不同的 channel 中,sink 可以選擇傳送到不同的目的地。

負載均衡和故障轉移:
在這裏插入圖片描述Flume支持使用將多個sink邏輯上分到一個sink組,sink組配合不同的SinkProcessor可以實現負載均衡和錯誤恢復的功能。

聚合:
在這裏插入圖片描述這種模式是我們最常見的,也非常實用,日常 web 應用通常分佈在上百個服務器,大者甚至上千個、上萬個服務器。產生的日誌,處理起來也非常麻煩。用 flume 的這種組合方式能很好的解決這一問題,每臺服務器部署一個 flume 採集日誌,傳送到一個集中收集日誌的flume,再由此 flume 上傳到 hdfs、hive、hbase 等,進行日誌分析。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章