Flume相关问题归纳
- Flume 的Source、Sink、Channel的作用?
①source组件是专门用来收集数据的,可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、spooling directory、syslog
②Channel组件对采集到的数据进行缓存,可以存放在Memory或File中
③Sink组件是用于把数据发送到目的地的组件,目的地包括 avro、HDFS、file、logger还有一些自定义sink - Flume的Channel Selector
channel选择器,可以让不同的项目日志通过不同的channel到不同的sink中去,有两种类型
(Replicating Channel Selector会将source过来的数据发往所有的channel)
(Mutiplexing Channel Selector 会选择哪些数据发往哪些Channel) - 事务机制:Flume的事务机制
Flume使用两个独立的事务分别负责从Source到Channel,以及Channel到Sink的事件传递,比如spooling directory source 为文件的每一行创建一个事件
一旦事务中的所有事件全部传递到Channel且提交成功,那么source就将该文件标记为完成。同理,事务用类似的方法处理Channel到Sink的传递过程,如果因为某种原因使得事件无法记录,
那么事务将会回滚。且所有事件都会保持到Channel中,等待重新传递。 - Flume的数据会丢失吗?
根据Fl