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

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

flume架構(gòu)是怎么樣的

這篇文章主要介紹了flume架構(gòu)是怎么樣的,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司基于成都重慶香港及美國等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動(dòng)大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務(wù)器托管報(bào)價(jià),主機(jī)托管價(jià)格性價(jià)比高,為金融證券行業(yè)托管服務(wù)器,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專業(yè)成都idc公司。

flume介紹

flume是一個(gè)分布式、可靠、和高可用的海量日志采集、聚合和傳輸?shù)南到y(tǒng)。支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時(shí),F(xiàn)lume提供對數(shù)據(jù)進(jìn)行簡單處理,并寫到各種數(shù)據(jù)接受方(比如文本、HDFS、Hbase等)的能力 。官方網(wǎng)站:http://flume.apache.org/

  1. flume架構(gòu)

flume架構(gòu)是怎么樣的

Flume采用了分層架構(gòu):分別為agent,collector和storage。用戶可以根據(jù)需要添加自己的的agent,collector或者storage。其中,agent和collector均有兩部分組成:source和sink,source是數(shù)據(jù)來源,sink是數(shù)據(jù)去向。(大三層和小三層一樣,也可以說flume分為source、channel和sink)

Flume核心概念

大的方面:

Agent使用JVM 運(yùn)行Flume。每臺(tái)機(jī)器運(yùn)行一個(gè)agent,但是可以在一個(gè)agent中包含多個(gè)sources和sinks。Collector將多個(gè)agent的數(shù)據(jù)收集后加載到storage中。

Storage存儲(chǔ)收集的數(shù)據(jù)。

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

小的方面:

Source從Client收集數(shù)據(jù),傳遞給Channel。
Sink從Channel收集數(shù)據(jù),運(yùn)行在一個(gè)獨(dú)立線程。
Channel連接 sources 和 sinks ,這個(gè)有點(diǎn)像一個(gè)隊(duì)列。
Events是flume的數(shù)據(jù)基本單位,可以是日志記錄、 avro 對象等。

Flume組件詳解

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

Client端操作消費(fèi)數(shù)據(jù)的來源,F(xiàn)lume 支持 Avro,log4j,syslog 和 http post(body為json格式)??梢宰寫?yīng)用程序同已有的Source直接打交道,如AvroSource,SyslogTcpSource。也可以 寫一個(gè) Source,以 IPC 或 RPC 的方式接入自己的應(yīng)用,Avro和 Thrift 都可以(分別有 NettyAvroRpcClient 和 ThriftRpcClient 實(shí)現(xiàn)了 RpcClient接口),其中 Avro 是默認(rèn)的 RPC 協(xié)議。具體代碼級(jí)別的 Client 端數(shù)據(jù)接入,可以參考官方手冊。

對現(xiàn)有程序改動(dòng)最小的使用方式是使用是直接讀取程序原來記錄的日志文件,基本可以實(shí)現(xiàn)無縫接入,不需要對現(xiàn)有程序進(jìn)行任何改動(dòng)。
對于直接讀取文件 Source,有兩種方式:

  • ExecSource: 以運(yùn)行 Linux 命令的方式,持續(xù)的輸出最新的數(shù)據(jù),如tail -F 文件名指令,在這種方式下,取的文件名必須是指定的。 ExecSource 可以實(shí)現(xiàn)對日志的實(shí)時(shí)收集,但是存在Flume不運(yùn)行或者指令執(zhí)行出錯(cuò)時(shí),將無法收集到日志數(shù)據(jù),無法保證日志數(shù)據(jù)的完整性。

  • SpoolSource: 監(jiān)測配置的目錄下新增的文件,并將文件中的數(shù)據(jù)讀取出來。需要注意兩點(diǎn):拷貝到 spool 目錄下的文件不可以再打開編輯;spool 目錄下不可包含相應(yīng)的子目錄。

SpoolSource 雖然無法實(shí)現(xiàn)實(shí)時(shí)的收集數(shù)據(jù),但是可以使用以分鐘的方式分割文件,趨近于實(shí)時(shí)。

如果應(yīng)用無法實(shí)現(xiàn)以分鐘切割日志文件的話, 可以兩種收集方式結(jié)合使用。 在實(shí)際使用的過程中,可以結(jié)合 log4j 使用,使用 log4j的時(shí)候,將 log4j 的文件分割機(jī)制設(shè)為1分鐘一次,將文件拷貝到spool的監(jiān)控目錄。

log4j 有一個(gè) TimeRolling 的插件,可以把 log4j 分割文件到 spool 目錄?;緦?shí)現(xiàn)了實(shí)時(shí)的監(jiān)控。Flume 在傳完文件之后,將會(huì)修改文件的后綴,變?yōu)?.COMPLETED(后綴也可以在配置文件中靈活指定)

Channel連接 sources 和 sinks ,這個(gè)有點(diǎn)像一個(gè)隊(duì)列

當(dāng)前有幾個(gè) channel 可供選擇,分別是 Memory Channel, JDBC Channel , File Channel,Psuedo Transaction Channel。比較常見的是前三種 channel。

  • MemoryChannel 可以實(shí)現(xiàn)高速的吞吐,但是無法保證數(shù)據(jù)的完整性。

  • MemoryRecoverChannel 在官方文檔的建議上已經(jīng)建義使用FileChannel來替換。

  • FileChannel保證數(shù)據(jù)的完整性與一致性。在具體配置FileChannel時(shí),建議FileChannel設(shè)置的目錄和程序日志文件保存的目錄設(shè)成不同的磁盤,以便提高效率。

File Channel 是一個(gè)持久化的隧道(channel),它持久化所有的事件,并將其存儲(chǔ)到磁盤中。因此,即使 Java 虛擬機(jī)當(dāng)?shù)?,或者操作系統(tǒng)崩潰或重啟,再或者事件沒有在管道中成功地傳遞到下一個(gè)代理(agent),這一切都不會(huì)造成數(shù)據(jù)丟失。Memory Channel 是一個(gè)不穩(wěn)定的隧道,其原因是由于它在內(nèi)存中存儲(chǔ)所有事件。如果 java 進(jìn)程死掉,任何存儲(chǔ)在內(nèi)存的事件將會(huì)丟失。另外,內(nèi)存的空間收到 RAM大小的限制,而 File Channel 這方面是它的優(yōu)勢,只要磁盤空間足夠,它就可以將所有事件數(shù)據(jù)存儲(chǔ)到磁盤上。

Sink從Channel收集數(shù)據(jù),運(yùn)行在一個(gè)獨(dú)立線程。

Sink在設(shè)置存儲(chǔ)數(shù)據(jù)時(shí),可以向文件系統(tǒng)、數(shù)據(jù)庫、hadoop存數(shù)據(jù),在日志數(shù)據(jù)較少時(shí),可以將數(shù)據(jù)存儲(chǔ)在文件系中,并且設(shè)定一定的時(shí)間間隔保存數(shù)據(jù)。在日志數(shù)據(jù)較多時(shí),可以將相應(yīng)的日志數(shù)據(jù)存儲(chǔ)到Hadoop中,便于日后進(jìn)行相應(yīng)的數(shù)據(jù)分析. collectorSink("fsdir","fsfileprefix",rollmillis):collectorSink,數(shù)據(jù)通過collector匯聚之后發(fā)送到hdfs, fsdir 是hdfs目錄,fsfileprefix為文件前綴碼。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“flume架構(gòu)是怎么樣的”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!


名稱欄目:flume架構(gòu)是怎么樣的
文章源于:http://weahome.cn/article/jshjjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部