基於源頭的資料大小、資料採集的目的地規劃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...