1:Flume内部如何保证数据不丢?

    参考答案: Source到Channel是有事务机制保证的。 Channel到Sink也是有事务机制保证的。 这两个环节都不会丢失数据。 如果再使用基于文件的Channel,那么Flume就不会丢失数据了。

    2:介绍一下Flume中的拦截器

    参考答案: Flume中的拦截器可以实现对Source采集到的数据进行拦截解析处理 不同的拦截器可以实现不同的功能 例如: regex_extractor拦截器可以向满足条件的数据的header中添加key-value search_replace拦截器可以根据一定的规则匹配数据并且修改source采集到的原始数据内容

    3:了解 Flume中的负载均衡和故障转移吗?

    参考答案: Flume中的负载均衡和故障转移是为了提高整个系统的容错能力和稳定性。 通过简单配置就可以轻松实现,首先需要设置 Sink 组,同一个 Sink 组内有多个子 Sink,不同 Sink 之间可以配置成负载均衡或者故障转移。

    4:介绍一下什么是Flume中的选择器?

    参考答案: Source 采集的数据通过 Channel 选择器来选择写入哪些 Channel 中常见的有Replicating Channel选择器和Multiplexing Channel选择器 Replicating Channel选择器:是默认的channel选择器,它会将source采集过来的所有数据发往所有的channel。 Multiplexing Channel选择器:它表示会根据数据(Event)中header里面的值将Event发往不同的channel。

    5:你在工作中最常用的Flume Sink组件是哪个?

    参考答案: 常用的是hdfssink和kafkasink 针对离线数据落盘一般都是使用hdfssink。 针对实时场景一般都是使用kafkasink。

    6:Flume大版本分为哪几个?

    参考答案: og:0.9版本之前 ng:目前企业经常用的版本

    7:Event概念

    参考答案 Event是Flume传输数据的基本单位,也是事务的基本单位,在文本文件中,通常一行记录就是一个Event Event中包含header和body; body是采集到的那一行记录的原始内容 header类型为Map,里面可以存储一些属性信息,方便后面使用 我们可以在Source中给每一条数据的header中增加key-value,在Channel和Sink中使用header中的值了。

    8:Flume高可用的看法

    1、安全问题:可以防止大数据集群地址暴漏出去,用中间FLume层接引数据。 2、HDFS IO:防止了HDFS集群 IO 量过大,防止爆掉。 3、经过中间层Flume聚合之后 落地HDFS防止了小文件过多的问题。