白嫩娇妻被交换经过_被弄出白浆喷水了视频_亚洲依依成人_小蝌蚪视频污下载

當(dāng)前位置: 首頁(yè) / 技術(shù)干貨 / 正文
數(shù)據(jù)采集工具之Flume 的介紹

2023-03-02

   flume 數(shù)據(jù) sink

  一、Flume 的介紹

  在大數(shù)據(jù)的工作流程中,第一件要處理的事情就是將各個(gè)平臺(tái)產(chǎn)生的數(shù)據(jù),采集到大數(shù)據(jù)平臺(tái)進(jìn)行存儲(chǔ)。最常見(jiàn)的存儲(chǔ)的平臺(tái)就是 HDFS。那么將數(shù)據(jù)采集到 HDFS 就是工作流的第一環(huán)了。數(shù)據(jù)可能是產(chǎn)生在不同的位置的,有些是存放于業(yè)務(wù)數(shù)據(jù)庫(kù)中,有些是存放于數(shù)據(jù)庫(kù)日志文件中的。而我們要做的就是針對(duì)不同的位置,使用不同的工具來(lái)進(jìn)行數(shù)據(jù)的采集工作。其中對(duì)于服務(wù)器日志文件的采集,最常見(jiàn)的就是使用 Flume 來(lái)完成!

  Flume是一種分布式的,可靠的、高可用的服務(wù),用于有效地收集,聚合和移動(dòng)大量日志數(shù)據(jù)。它具有基于流數(shù)據(jù)流的簡(jiǎn)單靈活的體系結(jié)構(gòu)。它具有可調(diào)整的可靠性機(jī)制以及許多故障轉(zhuǎn)移和恢復(fù)機(jī)制,具有強(qiáng)大的功能和容錯(cuò)能力。它使用一個(gè)簡(jiǎn)單的可擴(kuò)展數(shù)據(jù)模型,允許在線分析應(yīng)用程序。

  參考官網(wǎng): 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最開(kāi)始是由 cloudera 開(kāi)發(fā)的實(shí)時(shí)日志收集系統(tǒng),受到了業(yè)界的認(rèn)可與廣泛應(yīng)用。但隨著 Flume功能的擴(kuò)展,flume的代碼工程臃腫、核心組件設(shè)計(jì)不合理、核心配置不標(biāo)準(zhǔn)等缺點(diǎn)漸漸暴露出來(lái),尤其是在發(fā)行版本 0.9.4中,日志傳輸不穩(wěn)定的現(xiàn)象尤為嚴(yán)重。

  為了解決這些問(wèn)題,2011 年 10 月 22 號(hào),cloudera 對(duì) Flume進(jìn)行了里程碑式的改動(dòng):重構(gòu)核心組件、核心配置以及代碼架構(gòu),并將 Flume納入 apache 旗下,從cloudera Flume改名為 Apache Flume。

  二、Flume 的體系結(jié)構(gòu)

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

圖片 1

  在 Flume 中存在著一些組件,彼此協(xié)調(diào)工作:

  ● Client: 客戶端,Client生產(chǎn)數(shù)據(jù),運(yùn)行在一個(gè)獨(dú)立的線程中

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

  ● Flow: Event從源點(diǎn)到達(dá)目的點(diǎn)的遷移的抽象。

  ● Agent: 一個(gè)獨(dú)立的Flume進(jìn)程,運(yùn)行在JVM中,包含組件Source、 Channel、 Sink。 每臺(tái)機(jī)器運(yùn)行一個(gè)agent,但是一個(gè)agent中可以包含多個(gè)sources和sinks。

  ● Source: 數(shù)據(jù)收集組件。source從Client收集數(shù)據(jù),傳遞給Channel

  ● Channel: 管道,負(fù)責(zé)接收source端的數(shù)據(jù),然后將數(shù)據(jù)推送到sink端。

  ● Sink: 負(fù)責(zé)從channel端拉取數(shù)據(jù),并將其推送到持久化系統(tǒng)或者是下一個(gè)Agent。

  ● selector: 選擇器,作用于source端,然后決定數(shù)據(jù)發(fā)往哪個(gè)目標(biāo)。

  ● interceptor: 攔截器,flume允許使用攔截器攔截?cái)?shù)據(jù)。允許使用攔截器鏈,作用于source和sink階段。

  三、Flume 的模型

  3.1. 單一數(shù)據(jù)模型

  在單個(gè) Agent 內(nèi)由單個(gè) Source, Channel, Sink 建立一個(gè)單一的數(shù)據(jù)流模型,如下圖所示,整個(gè)數(shù)據(jù)流為 Web Server --> Source --> Channel --> Sink --> HDFS。

圖片 2

  3.2. 多數(shù)據(jù)流模型

  3.2.1. 多 Agent 串行傳輸數(shù)據(jù)流模型

圖片 3

  3.2.2. 多 Agent 匯聚數(shù)據(jù)流模型

圖片 4

  3.2.3. 單 Agent 多路數(shù)據(jù)流模型

圖片 5

  3.2.4. SinkGroups 數(shù)據(jù)流模型

圖片 6

好程序員公眾號(hào)

  • · 剖析行業(yè)發(fā)展趨勢(shì)
  • · 匯聚企業(yè)項(xiàng)目源碼

好程序員開(kāi)班動(dòng)態(tài)

More+
IT培訓(xùn)IT培訓(xùn)
在線咨詢
IT培訓(xùn)IT培訓(xùn)
試聽(tīng)
IT培訓(xùn)IT培訓(xùn)
入學(xué)教程
IT培訓(xùn)IT培訓(xùn)
立即報(bào)名
IT培訓(xùn)

Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號(hào)-5 京公網(wǎng)安備 11010802035720號(hào)