摘要:今天從設(shè)計(jì)角度來解析的架構(gòu)組成及其特點(diǎn)。實(shí)際上處理的就是。負(fù)責(zé)消費(fèi)從上游節(jié)點(diǎn)獲取的,并將其放到中,目前支持等數(shù)據(jù)流。從取數(shù)據(jù)并將其放入下游節(jié)點(diǎn)。節(jié)點(diǎn)中的和被包含在一個(gè)事務(wù)中。接收上游的,若其中一個(gè)接收異常,則所有的都丟棄,這將導(dǎo)致數(shù)據(jù)重發(fā)。
Flume是Apache開發(fā)的一款多平臺(tái)、分布式、高可用的數(shù)據(jù)收集聚合系統(tǒng)。今天從設(shè)計(jì)角度來解析Flume的架構(gòu)組成及其特點(diǎn)。
首先談一下數(shù)據(jù)流(data flow)。Flume本質(zhì)上是對(duì)數(shù)據(jù)流的處理,其定義數(shù)據(jù)處理的最小單元是event,一個(gè)event由包含數(shù)據(jù)的有效負(fù)載(payload)和一組可選屬性組成。Flume實(shí)際上處理的就是events flow。
Flume在數(shù)據(jù)收集和聚合上有很大的靈活性,這得益于其整個(gè)系統(tǒng)可以由單個(gè)或者多個(gè)節(jié)點(diǎn)(agent)拼接而成。每個(gè)節(jié)點(diǎn)負(fù)責(zé)從上游數(shù)據(jù)源向下游數(shù)據(jù)接收方分發(fā)event。每個(gè)節(jié)點(diǎn)既可以作為數(shù)據(jù)源也可以作為數(shù)據(jù)接收方。
在節(jié)點(diǎn)的內(nèi)部,agent由source、channel和sink組成。source負(fù)責(zé)消費(fèi)從上游節(jié)點(diǎn)獲取的events,并將其放到channel中,目前Flume支持Avro、Thrift、Syslog、Netcat等數(shù)據(jù)流。channel分為兩種類型,一種是memory channel,它適合高吞吐量場(chǎng)景,但節(jié)點(diǎn)掛掉后數(shù)據(jù)可能會(huì)丟失。另一種是file channel,也就是channel里的數(shù)據(jù)會(huì)同步到硬盤里,節(jié)點(diǎn)意外掛掉后數(shù)據(jù)可恢復(fù),但處理時(shí)間會(huì)稍長一些,F(xiàn)lume默認(rèn)使用file channel。sink從channel取數(shù)據(jù)并將其放入下游節(jié)點(diǎn)。
下圖是從多個(gè)web server數(shù)據(jù)源收集數(shù)據(jù),并統(tǒng)一聚合到一個(gè)節(jié)點(diǎn),然后將數(shù)據(jù)導(dǎo)入到hdfs中。
https://flume.apache.org/_images/UserGuide_image02.png
Flume節(jié)點(diǎn)還支持更復(fù)雜的多源、多數(shù)據(jù)沉積池的組合,如下圖:
https://flume.apache.org/_images/UserGuide_image01.png
Flume采用事務(wù)來保證數(shù)據(jù)傳輸?shù)目煽啃浴C總€(gè)event只有當(dāng)被確認(rèn)傳遞到下游節(jié)點(diǎn)或者數(shù)據(jù)沉積池之后才把該event從channel中刪除。節(jié)點(diǎn)中的sources和sinks被包含在一個(gè)事務(wù)中。source接收上游的events,若其中一個(gè)event接收異常,則所有的events都丟棄,這將導(dǎo)致數(shù)據(jù)重發(fā)。同理,sink在將events導(dǎo)入到下游數(shù)據(jù)沉積池時(shí),任何一個(gè)event發(fā)送異常,則所有的events都將重新發(fā)送。
具體如何使用配置請(qǐng)參考:
https://flume.apache.org/Flum...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/44223.html
摘要:今天從設(shè)計(jì)角度來解析的架構(gòu)組成及其特點(diǎn)。實(shí)際上處理的就是。負(fù)責(zé)消費(fèi)從上游節(jié)點(diǎn)獲取的,并將其放到中,目前支持等數(shù)據(jù)流。從取數(shù)據(jù)并將其放入下游節(jié)點(diǎn)。節(jié)點(diǎn)中的和被包含在一個(gè)事務(wù)中。接收上游的,若其中一個(gè)接收異常,則所有的都丟棄,這將導(dǎo)致數(shù)據(jù)重發(fā)。 Flume是Apache開發(fā)的一款多平臺(tái)、分布式、高可用的數(shù)據(jù)收集聚合系統(tǒng)。今天從設(shè)計(jì)角度來解析Flume的架構(gòu)組成及其特點(diǎn)。 首先談一下數(shù)據(jù)流(...
摘要:今天從設(shè)計(jì)角度來解析的架構(gòu)組成及其特點(diǎn)。實(shí)際上處理的就是。負(fù)責(zé)消費(fèi)從上游節(jié)點(diǎn)獲取的,并將其放到中,目前支持等數(shù)據(jù)流。從取數(shù)據(jù)并將其放入下游節(jié)點(diǎn)。節(jié)點(diǎn)中的和被包含在一個(gè)事務(wù)中。接收上游的,若其中一個(gè)接收異常,則所有的都丟棄,這將導(dǎo)致數(shù)據(jù)重發(fā)。 Flume是Apache開發(fā)的一款多平臺(tái)、分布式、高可用的數(shù)據(jù)收集聚合系統(tǒng)。今天從設(shè)計(jì)角度來解析Flume的架構(gòu)組成及其特點(diǎn)。 首先談一下數(shù)據(jù)流(...
摘要:包括服務(wù)的自動(dòng)化部署,以及鏈路監(jiān)控等并未細(xì)說提及。結(jié)語誠然,整個(gè)服務(wù)架構(gòu)可以輕松應(yīng)對(duì)千萬級(jí)并發(fā)。期望,整個(gè)服務(wù)架構(gòu)能伴隨公司繼續(xù)成長壯大。 背景介紹 回顧 ShareSDK,顧名思義,分享的SDK組件,公司基于互聯(lián)網(wǎng),早期主要以ShareSDK起家。今日思來,很幸運(yùn),能陪著ShareSDK一起成長。 showImg(https://segmentfault.com/img/bV0Wo5...
閱讀 3433·2023-04-25 18:14
閱讀 1526·2021-11-24 09:38
閱讀 3244·2021-09-22 14:59
閱讀 3060·2021-08-09 13:43
閱讀 2562·2019-08-30 15:54
閱讀 563·2019-08-30 13:06
閱讀 1540·2019-08-30 12:52
閱讀 2719·2019-08-30 11:13