Flume 概念理解

Flume 概念理解

flume最一個可靠的、分佈式的和高可用的海量日誌採集、聚合和傳輸的系統。

  • Client:生產數據,運行在獨立的線程
  • Event:事件,即一個數據單元,也就是每次發送的一個數據或消息(由消息頭和消息體組成)。
  • Flow:event從數據發送方到接收方遷移的一個抽象過程。–數據傳輸流向
  • Agent:一個獨立的Flume進程,處理event,也是數據傳輸的基本單元,包含組件Source、Channel、Sink。(Agent使用JVM運行Flume,每臺機器運行一個agent,但是可以在一個agent中包含多個sources和sinks)
  • Source:數據收集組件,作爲agent的數據來源,與event的數據發送方對應。–從Client收集數據,傳遞給Channel。
  • Channel:作爲數據在agent中的臨時存儲,保存有Source組件傳遞過來的event。
  • Sink:作爲對Source傳輸到Channel中的event數據的消費,將event數據傳輸到對應的數據接收方(也可以將event數據傳輸給下一個Agent,形成Agent PipeLine)。–Sink從Channel收集數據,運行咋一個獨立線程。

規則:

  1. 每個Source可以傳遞多個Channel
  2. 每個Channel可以接收多個Source發送的Event,也可以將Event傳輸給多個Sink
  3. 一個Sink只能消費一個Channel中的Event數據
  4. 當Source接收的是一個Agent來源的數據時,它的數據格式和響應配置要和上一個Agent的數據格式及配置一致
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章