国产另类ts人妖一区二区_欧美肥老太做爰视频_快穿高h肉_国产欧美综合在线

當前位置: 首頁 / 技術干貨 / 正文
數據采集工具之Flume 的介紹

2023-03-02

   flume 數據 sink

  一、Flume 的介紹

  在大數據的工作流程中,第一件要處理的事情就是將各個平臺產生的數據,采集到大數據平臺進行存儲。最常見的存儲的平臺就是 HDFS。那么將數據采集到 HDFS 就是工作流的第一環了。數據可能是產生在不同的位置的,有些是存放于業務數據庫中,有些是存放于數據庫日志文件中的。而我們要做的就是針對不同的位置,使用不同的工具來進行數據的采集工作。其中對于服務器日志文件的采集,最常見的就是使用 Flume 來完成!

  Flume是一種分布式的,可靠的、高可用的服務,用于有效地收集,聚合和移動大量日志數據。它具有基于流數據流的簡單靈活的體系結構。它具有可調整的可靠性機制以及許多故障轉移和恢復機制,具有強大的功能和容錯能力。它使用一個簡單的可擴展數據模型,允許在線分析應用程序。

  參考官網: http://flume.apache.org/

  Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.

  Flume最開始是由 cloudera 開發的實時日志收集系統,受到了業界的認可與廣泛應用。但隨著 Flume功能的擴展,flume的代碼工程臃腫、核心組件設計不合理、核心配置不標準等缺點漸漸暴露出來,尤其是在發行版本 0.9.4中,日志傳輸不穩定的現象尤為嚴重。

  為了解決這些問題,2011 年 10 月 22 號,cloudera 對 Flume進行了里程碑式的改動:重構核心組件、核心配置以及代碼架構,并將 Flume納入 apache 旗下,從cloudera Flume改名為 Apache Flume。

  二、Flume 的體系結構

  Flume運行的核心是 Agent。Flume是以agent為最小的獨立運行單位。一個agent就是一個JVM。它是一個完整的數據收集工具,含有三個核心組件,分別是source、 channel、 sink。通過這些組件, Event 可以從一個地方流向另一個地方。如下圖所示:

圖片 1

  在 Flume 中存在著一些組件,彼此協調工作:

  ● Client: 客戶端,Client生產數據,運行在一個獨立的線程中

  ● Event: 一個數據單元,消息頭和消息體組成。(Events可以是日志記錄、 avro 對象等。)

  ● Flow: Event從源點到達目的點的遷移的抽象。

  ● Agent: 一個獨立的Flume進程,運行在JVM中,包含組件Source、 Channel、 Sink。 每臺機器運行一個agent,但是一個agent中可以包含多個sources和sinks。

  ● Source: 數據收集組件。source從Client收集數據,傳遞給Channel

  ● Channel: 管道,負責接收source端的數據,然后將數據推送到sink端。

  ● Sink: 負責從channel端拉取數據,并將其推送到持久化系統或者是下一個Agent。

  ● selector: 選擇器,作用于source端,然后決定數據發往哪個目標。

  ● interceptor: 攔截器,flume允許使用攔截器攔截數據。允許使用攔截器鏈,作用于source和sink階段。

  三、Flume 的模型

  3.1. 單一數據模型

  在單個 Agent 內由單個 Source, Channel, Sink 建立一個單一的數據流模型,如下圖所示,整個數據流為 Web Server --> Source --> Channel --> Sink --> HDFS。

圖片 2

  3.2. 多數據流模型

  3.2.1. 多 Agent 串行傳輸數據流模型

圖片 3

  3.2.2. 多 Agent 匯聚數據流模型

圖片 4

  3.2.3. 單 Agent 多路數據流模型

圖片 5

  3.2.4. SinkGroups 數據流模型

圖片 6

好程序員公眾號

  • · 剖析行業發展趨勢
  • · 匯聚企業項目源碼

好程序員開班動態

More+
  • HTML5大前端 <高端班>

    開班時間:2021-04-12(深圳)

    開班盛況

    開班時間:2021-05-17(北京)

    開班盛況
  • 大數據+人工智能 <高端班>

    開班時間:2021-03-22(杭州)

    開班盛況

    開班時間:2021-04-26(北京)

    開班盛況
  • JavaEE分布式開發 <高端班>

    開班時間:2021-05-10(北京)

    開班盛況

    開班時間:2021-02-22(北京)

    開班盛況
  • Python人工智能+數據分析 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2020-09-21(上海)

    開班盛況
  • 云計算開發 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2019-07-22(北京)

    開班盛況
IT培訓IT培訓
在線咨詢
IT培訓IT培訓
試聽
IT培訓IT培訓
入學教程
IT培訓IT培訓
立即報名
IT培訓

Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號