flume 架構規劃

2021-08-17 15:52:16 字數 2476 閱讀 1913

基於源頭的資料大小、資料採集的目的地規劃flume拓撲架構

具備緩衝資料峰值的能力

規劃滿足處理瞬時故障所需的容量

====

flume  單層架構

1. 架構簡單

2. 配置管理複雜, 維護難度大

3. hdfs頻繁寫, 小檔案多, hdfs壓力大

4. 安全性差

5 flume 公升級比較麻煩

*****flume   分層架構== 

1. 安全性

匯聚層的agent(collector1與collector2、

collector3與collector4)做負載均衡、高可用

2. hdfs小檔案

匯聚層匯聚第一層多個agent的event。

3. 擴充套件性、可用性

4. 公升級維護

hdfs公升級維護等, 只需要維護匯聚層的agent

************************* 

規劃-規劃每層節點數量*****

經驗法則:

每4-16臺agent做一層聚合agent

根據每個聚合agent的資料攝取能力。

理論上:最大的agent數量基於將網路頻寬跑滿。

最外層agent比可高達100:1

內層大幅減少agent數量

需要考慮load balancing、failover

案例: 從100臺web server 收集日誌

1. 第一層:按照1:16規劃agent數量, 不考慮load

balancing和failover。

第一層的agent數量: 100/16 =7.

2. 中間層:按照1:4規劃agent數量, 不考慮load

balancing和failover。

第二層的agent數量:7/4 =2.

合計:兩層, 9個agent。

規劃每層節點數量

規劃- sink batch size

基於前面的拓撲, 以agent1為例:

考慮到穩定性, agent1能處理的最大event數量為1600個。

agent1

1. 在乙個週期內, 每台web server傳送了100個event。

2. agent1的接收的event數量:16*100=1600個,agent1的出口event數量

3. 如果web server的event變大, agent1的 出口event數量增加到2500個, 那麼這個時候使用mutilple sinks。

collector1

1. 從上游4個agent接收資料, 每批次資料量: 4 * 1600 = 6400個。

2. 將 6400個分成3個sink, 每個sink的batch size為2150.

sink的batch size越大, 資料重複的風險就越大, 因為flume只能保證每個event被推送到至少乙個sink。

規劃-channel capacity

channel容量規劃

根據故障處理要求規劃,下游故障, 導致channel駐留大量的event

channel選擇

- memory: 傳輸速度快, 可靠性差

- file: 資料持久化到磁碟, 資料不會丟失。重啟斷點續傳。

-     kafka channel: 傳輸速度快,安全可靠。

file channel capacity規劃

假設能夠容忍的下游故障處理時間為1個小時。

1個agent的傳輸event速率為100個/秒。

1個小時的event數為: 1*60*60*100 = 360000

file的磁碟容量需要滿足360000個event的儲存, 從安全性考慮, 設計file的磁碟容量

為360000*1.5=540000個event的容量。

kafka channel的規劃

假設能夠容忍的下游故障處理時間為1個小時

kafka的segment配置保留時間大於1個小時。 從安全性考慮,適當增大。

kafka的segment配置保留位元組大小大於540000個event的容量。

規劃-硬體

cpu核心數:(source數量 + sink數量)/ 2

如果使用memory channel, 盡量配置比較大的記憶體

如果使用file channel, 磁碟越多, 吞吐量越大

Flume學習筆記(一)Flume 組成架構

本文主要記錄我在學習 flume 過程中的一些知識的整理與記錄,預計會做成乙個系列來梳理一下 flume 中的知識,本篇的主要內容為 flume 的組成架構,文中如有疏漏與不足歡迎指正!flume 是 cloudera 提供的乙個高可用的,高可靠的,分布式的海量日誌採集 聚合和傳輸的系統。flume...

Flume架構設計

我們的架構設計的思路跟美團大同小異,也是分為agent層,collector層和store層。具體可參考美團架構1,美團架構2,下面只是一些補充 下面是我們自己的架構圖 下面的圖描述一條日誌訊息從客戶端產生,經過了怎樣的過程最終被消費的。美團的文件中已對這個架構的優越性進行了說明,比如可用性,可靠性...

大資料 Flume架構筆錄

從大資料採集到資料儲存 flume 採集框架 分布式 資料來源 模擬 資料採集 flume 資料儲存 hdfs 分布式檔案系統 flume架構 資料採集 從一端到另一端 檔案source 輸入 channel 事件的快取 相當於水管 slink 輸出 hdfsf分布式檔案系統 flume 1.定義a...