flume面试题(更新中。。。)

1:用什么工具监控flume数据收集

Ganglia 实时监控 Flume

2:flume的source,sink ,channel 的 作用,支持的数据类型

source 数据源头 自定义,以处理各种类型、各种格式的日志数据,
包括 avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、
http、legacy

channel 数据通道(缓存数据) memory,file

sink 数据输出 自定义,hdfs
的地包括 HDFS、Logger、avro、
thrift、ipc、file、Hbase、solr、自定义

3:flume的参数调优

source
batchsize
source一次批量生产的 event 条数

channel
Capacity 参数决定 Channel 可容纳最大的 event 条数。transactionCapacity 参数决定每
次 Source 往 channel 里面写的最大 event 条数和每次 Sink 从 channel 里面读的最大 event
条数。transactionCapacity 需要大于 Source 和 Sink 的 batchSize 参数。

sink
batchsize
Sink 一次批量从 Channel 读取的 event 条数,适当调大这个参数可
以提高 Sink 从 Channel 搬出 event 的性能。

4: Channel Selectors

Channel Selectors,可以让不同的项目日志通过不同的Channel到不同的Sink中去。
官方文档上Channel Selectors 有两种类型:Replicating Channel Selector (default)和
Multiplexing Channel Selector
这两种Selector的区别是:Replicating 会将source过来的events发往所有channel,而
Multiplexing可以选择该发往哪些Channel

5:flume 事务机制

把要传输的消息的整个过程就是事务
整个传输消息过程中的每一步就是事件
事件组成事务
比如 spooling directory source为文件的每一行创建一个事件

事务1:source --》channel :当事务中的所有事件都成功提交到channel时,那么source将会把它标记完成,开始提交下面的事务。

事务2: channel–》sink 事务以类似的方式处理从 Channel 到 Sink 的传
递过程,如果因为某种原因使得事件无法记录,那么事务将会回滚。且所有的事件都会保持
到 Channel 中,等待重新传递

6:flume可以保证消息 不丢失吗?

==flume内部是支持事务性的,所以source–》channel ,channel–》sink 是不会出现消息丢失的,1:channel如果采用内存(memory)来存储数据的话,进程异常退出,内存已满 是会数据丢失的,2:如果 channel中消费数据的速度 小于生产数据的速度吗,导致channel中的数据已达到最大值的话,source的数据没有进入到channel中,也会出现数据丢失 ==

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值