flume要点知识

2019-02-05  本文已影响0人  风暴之芽

flume是一款可以从不同的数据源把数据集中存到HDFS或者Hbase中,flume通过agent来完成接受收集数据,agent是一个独立的守护进程,从客户端处接受数据,传给下一个节点的agent,agent的内部有三个组件Source、channel、sink。

1.source:一个flume源,对一个外部数据源负责,将外部源上的事件以可以识别的格式发送到flume中,将事件传送给channel

2.channel:是一个短暂的存储容器,把source发送过来的event缓存起来,等到sink来消费掉,可以连接到任意数量的source和sink,channel是一个完整的事物,保证数据在接受和存储的时候达到一致性目的;可以通过参数设置event的数量;flume的channel有FileChannel和MemoryChannel,一般情况下使用前者,以保证数据不会丢失(wal:预写功能)

3.sink:从channel中消费数据,把数据存储到HDFS或者Hbase上,或者到下一个agent;sink取出event之后,channel中的event也被移除了

;sink必须对应一个确切的channel;

flume的数据流

flume可以对数据进行过滤,这个功能被称为Interceptor,这个功能被设置在source,一个source可以设置多个intercept,按照顺序处理,目前拦截形式有:timestamp、host、static等等

flume的可靠性:

1.处理过程中,如果因为各种原因,在某一步被迫结束了,这个数据会在下一次开启重新传输

2.channel会存储数据,以供再次可以传输

上一篇下一篇

猜你喜欢

热点阅读