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

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

flume的核心概念介紹

本篇內(nèi)容主要講解“flume的核心概念介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“flume的核心概念介紹”吧!

成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、祁東網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為祁東等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

核心概念

  • Event

  • Client

  • Agent

    • Sources、Channels、Sinks

    • 其他組件:Interceptors、Channel Selectors、Sink Processor

核心概念:Event

Event是Flume數(shù)據(jù)傳輸?shù)幕締卧lume以事件的形式將數(shù)據(jù)從源頭傳送到最終的目的。Event由可選的hearders和載有數(shù)據(jù)的一個(gè)byte array構(gòu)成。

  • 載有的數(shù)據(jù)對(duì)flume是不透明的

  • Headers是容納了key-value字符串對(duì)的無序集合,key在集合內(nèi)是唯一的。

  • Headers可以在上下文路由中使用擴(kuò)展

public interface Event {  

    public Map getHeaders();  

    public void setHeaders(Map headers);  

    public byte[] getBody();  

    public void setBody(byte[] body);  

}  

核心概念:Client

Clinet是一個(gè)將原始log包裝成events并且發(fā)送它們到一個(gè)或多個(gè)agent的實(shí)體。

  • 例如

    • Flume log4j Appender

    • 可以使用Client SDK (org.apache.flume.api)定制特定的Client

  • 目的是從數(shù)據(jù)源系統(tǒng)中解耦Flume

  • 在flume的拓?fù)浣Y(jié)構(gòu)中不是必須的

核心概念:Agent

一個(gè)Agent包含Sources, Channels, Sinks和其他組件,它利用這些組件將events從一個(gè)節(jié)點(diǎn)傳輸?shù)搅硪粋€(gè)節(jié)點(diǎn)或最終目的。

  • agent是flume流的基礎(chǔ)部分。

  • flume為這些組件提供了配置、生命周期管理、監(jiān)控支持。

核心概念:Source

Source負(fù)責(zé)接收events或通過特殊機(jī)制產(chǎn)生events,并將events批量的放到一個(gè)或多個(gè)Channels。有event驅(qū)動(dòng)和輪詢2種類型的Source

  • 不同類型的Source:

    • 和眾所周知的系統(tǒng)集成的Sources: Syslog, Netcat

    • 自動(dòng)生成事件的Sources: Exec, SEQ

    • 用于Agent和Agent之間通信的IPC Sources: Avro

  • Source必須至少和一個(gè)channel關(guān)聯(lián)

核心概念:Channel

Channel位于Source和Sink之間,用于緩存進(jìn)來的events,當(dāng)Sink成功的將events發(fā)送到下一跳的channel或最終目的,events從Channel移除。

  • 不同的Channels提供的持久化水平也是不一樣的:

    • Memory Channel: volatile

    • File Channel: 基于WAL(預(yù)寫式日志W(wǎng)rite-Ahead Logging)實(shí)現(xiàn)

    • JDBC Channel: 基于嵌入Database實(shí)現(xiàn)

  • Channels支持事務(wù)

  • 提供較弱的順序保證

  • 可以和任何數(shù)量的Source和Sink工作

核心概念:Sink

Sink負(fù)責(zé)將events傳輸?shù)较乱惶蜃罱K目的,成功完成后將events從channel移除。

  • 不同類型的Sinks:

    • 存儲(chǔ)events到最終目的的終端Sink. 比如: HDFS, HBase

    • 自動(dòng)消耗的Sinks. 比如: Null Sink

    • 用于Agent間通信的IPC sink: Avro

  • 必須作用與一個(gè)確切的channel

核心概念:Interceptor

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

  • 內(nèi)建的Interceptors允許增加event的headers比如:時(shí)間戳、主機(jī)名、靜態(tài)標(biāo)記等等

  • 定制的interceptors可以通過內(nèi)省event payload(讀取原始日志),在必要的地方創(chuàng)建一個(gè)特定的headers。

核心概念:Channel Selector

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

  • 內(nèi)建的Channel Selectors:

    • 復(fù)制Replicating: event被復(fù)制到相關(guān)的channel

    • 復(fù)用Multiplexing: 基于hearder,event被路由到特定的channel

核心概念:Sink Processor

多個(gè)Sink可以構(gòu)成一個(gè)Sink Group。一個(gè)Sink Processor負(fù)責(zé)從一個(gè)指定的Sink Group中激活一個(gè)Sink。Sink Processor可以通過組中所有Sink實(shí)現(xiàn)負(fù)載均衡;也可以在一個(gè)Sink失敗時(shí)轉(zhuǎn)移到另一個(gè)。

  • Flume通過Sink Processor實(shí)現(xiàn)負(fù)載均衡(Load Balancing)和故障轉(zhuǎn)移(failover)

  • 內(nèi)建的Sink Processors:

    • Load Balancing Sink Processor – 使用RANDOM, ROUND_ROBIN或定制的選擇算法

    • Failover Sink Processor 

    • Default Sink Processor(單Sink)

  • 所有的Sink都是采取輪詢(polling)的方式從Channel上獲取events。這個(gè)動(dòng)作是通過Sink Runner激活的

  • Sink Processor充當(dāng)Sink的一個(gè)代理

到此,相信大家對(duì)“flume的核心概念介紹”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


文章標(biāo)題:flume的核心概念介紹
網(wǎng)站URL:http://weahome.cn/article/jedgis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部