真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

FLUMENG的基本架構(gòu)

Flume簡介

Flume 是一個cloudera提供的 高可用高可靠,分布式的海量日志收集聚合傳輸系統(tǒng)。原名是 Flume OG (original generation),但隨著 FLume 功能的擴(kuò)展,F(xiàn)lume OG 代碼工程臃腫、核心組件設(shè)計不合理、核心配置不標(biāo)準(zhǔn)等缺點暴露出來,尤其是在 Flume OG 的最后一個發(fā)行版本 0.94.0 中,日志傳輸不穩(wěn)定的現(xiàn)象尤為嚴(yán)重,為了解決這些問題,2011 年 10 月 22 號,cloudera 完成了 Flume-728,對 Flume 進(jìn)行了里程碑式的改動:重構(gòu)核心組件、核心配置以及代碼架構(gòu),重構(gòu)后的版本統(tǒng)稱為 Flume NG(next generation,改動的另一原因是將 Flume 納入 apache 旗下,cloudera Flume 改名為 Apache Flume)。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名申請網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、泗洪網(wǎng)站維護(hù)、網(wǎng)站推廣。

FLUME NG

1、NG 只有一種角色的節(jié)點:代理節(jié)點(agent)。

2、agent 節(jié)點的組成也發(fā)生了變化。Flume NG 的 agent 由 source、sink、Channel 組成。

flume ng 節(jié)點組成圖:

FLUME NG的基本架構(gòu)

多 Agent 并聯(lián)下的架構(gòu)圖:

FLUME NG的基本架構(gòu)

Flume 的特性

flume 支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時支持對數(shù)據(jù)進(jìn)行簡單處理,并寫到各種數(shù)據(jù)接受方(比如文本、HDFS、Hbase等)的能力 。

flume 的數(shù)據(jù)流由事件(Event)貫穿始終。事件是 Flume 的基本數(shù)據(jù)單位,它攜帶日志數(shù)據(jù)并且攜帶有頭信息,這些 Event 由 Agent 外部的 Source 生成,當(dāng) Source 捕獲事件后會進(jìn)行特定的格式化,然后 Source 會把事件推入(單個或多個) Channel 中。可以把 Channel 看作是一個緩沖區(qū),它將保存事件直到 Sink 處理完該事件。

Sink 負(fù)責(zé)持久化日志或者把事件推向另一個 Source。

Flume 具備高可靠性

當(dāng)節(jié)點出現(xiàn)故障時,日志能夠被傳送到其他節(jié)點上而不會丟失。Flume提供了三種級別的可靠性保障,從強到弱依次分別為:

1、end-to-end:收到數(shù)據(jù)agent首先將event寫到磁盤上,當(dāng)數(shù)據(jù)傳送成功后,再刪除;如果數(shù)據(jù)發(fā)送失敗,可以重新發(fā)送。

2、Store on failure:這也是scribe采用的策略,當(dāng)數(shù)據(jù)接收方crash崩潰時,將數(shù)據(jù)寫到本地,待恢復(fù)后,繼續(xù)發(fā)送。

3、Best effort:數(shù)據(jù)發(fā)送到接收方后,不會進(jìn)行確認(rèn)。

Flume 架構(gòu)組成和核心概念

client: 生產(chǎn)數(shù)據(jù)的地方,運行在一個獨立的線程。

event: 生產(chǎn)的數(shù)據(jù),可以是日志記錄、 avro 對象等,如果是文本文件通常是一行記錄。

agent: flume 核心組件,flume 以 Agent 為最小的獨立運行單位。一個 agent 就是一個 jvm, agent 又是由 source, channel, sink 等構(gòu)建而成。

agent 由 source, channel, sink 等構(gòu)建而成:

3.1 Source:從 Client 收集數(shù)據(jù),傳遞給 Channel

不同的 source,可以接受不同的數(shù)據(jù)格式,比如監(jiān)視外部源–目錄池(spooling directory)數(shù)據(jù)源,可以監(jiān)控指定文件夾中的新文件變化,如果目錄中有文件產(chǎn)生,就會立刻讀取其內(nèi)容。source 組件可以處理各種格式的日志數(shù)據(jù),eg:avro Sources、thrift Sources、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy、自定義。

Avro Source:支持Avro協(xié)議(實際上是Avro RPC),內(nèi)置支持|

Thrift Source:支持Thrift協(xié)議,內(nèi)置支持

Exec Source:基于Unix的command在標(biāo)準(zhǔn)輸出上生產(chǎn)數(shù)據(jù)

JMS Source:從JMS系統(tǒng)(消息、主題)中讀取數(shù)據(jù)

Spooling Directory Source:監(jiān)控指定目錄內(nèi)數(shù)據(jù)變更

Twitter 1% firehose Source:通過API持續(xù)下載Twitter數(shù)據(jù),試驗性質(zhì)

Netcat Source:監(jiān)控某個端口,將流經(jīng)端口的每一個文本行數(shù)據(jù)作為Event輸入

Sequence Generator Source:序列生成器數(shù)據(jù)源,生產(chǎn)序列數(shù)據(jù)

Syslog Sources:讀取syslog數(shù)據(jù),產(chǎn)生Event,支持UDP和TCP兩種協(xié)議

HTTP Source:基于HTTP POST或GET方式的數(shù)據(jù)源,支持JSON、BLOB表示形式

Legacy Sources:兼容老的Flume OG中Source(0.9.x版本)

詳細(xì)參考官網(wǎng):http://flume.apache.org/FlumeUserGuide.html#flume-sources

3.2、Channel:連接 sources 和 sinks

有點像一個隊列,是一個存儲池,接收 source 的輸出,直到有 sink 消費掉 channel 中的數(shù)據(jù),channel 中的數(shù)據(jù)直到進(jìn)入下一個 channel 或者進(jìn)入 sink 才會被刪除,當(dāng) sink 寫入失敗后,可以自動重啟,不會造成數(shù)據(jù)丟失。臨時存放的數(shù)據(jù)可以存放在memory Channel、jdbc Channel、file Channel、自定義。

Memory Channel:Event數(shù)據(jù)存儲在內(nèi)存中

JDBC Channel:Event數(shù)據(jù)存儲在持久化存儲中,當(dāng)前Flume Channel內(nèi)置支持Derby

File Channel:Event數(shù)據(jù)存儲在磁盤文件中

Spillable Memory Channel:Event數(shù)據(jù)存儲在內(nèi)存中和磁盤上,當(dāng)內(nèi)存隊列滿了,會持久化到磁盤文件

Pseudo Transaction Channel:測試用途

Custom Channel:自定義Channel實現(xiàn)

詳細(xì)參考官網(wǎng):http://flume.apache.org/FlumeUserGuide.html#flume-channels

3.3、Sink:從Channel收集數(shù)據(jù),運行在一個獨立線程

用于把數(shù)據(jù)發(fā)送到目的地的組件目的地包括 hdfs、logger、avro、thrift、ipc、file、null、hbase、solr、自定義。

詳細(xì)參考官網(wǎng):http://flume.apache.org/FlumeUserGuide.html#flume-sinks

flume可以支持

1、多級 flume的 agent,(即多個 flume 可以連成串,上一個 flume 可以把數(shù)據(jù)寫到下一個 flume 上)

2、支持扇入(fan-in):source 可以接受多個輸入

3、扇出(fan-out):sink 可以輸出到多個目的地

3.4、其他幾個組件

Interceptor:作用于Source,按照預(yù)設(shè)的順序在必要地方裝飾和過濾events。

Channel Selector:允許Source基于預(yù)設(shè)的標(biāo)準(zhǔn),從所有Channel中,選擇一個或多個Channel

Sink Processor:多個Sink可以構(gòu)成一個Sink Group。Sink Processor可以通過組中所有Sink實現(xiàn)負(fù)載均衡;也可以在一個Sink失敗時轉(zhuǎn)移到另一個。

FLUME NG的基本架構(gòu)

睿江云官網(wǎng)鏈接:http://www.eflycloud.com/#register?salesID=6DGNUTUAV


網(wǎng)頁標(biāo)題:FLUMENG的基本架構(gòu)
網(wǎng)站路徑:http://weahome.cn/article/jgeshp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部