整理归纳知识,形成知识体系,是高效学习非常重要的一个环节。高效的归纳总结,可以让我们轻松统揽全局,掌握知识。
目录
1、Flume基础知识
1.1 Flume的定义:Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。
1.2 Flume的基础架构
理解agent、source、channel、sink、event(包含header和body)组件的含义以及source、channel、sink的常用种类,这是部署你想要的各种flume集群的关键
1.3 Flume官方文档
学会查看Flume官方文档(flume.apache.org)可以帮助你部署你想要的各种flume集群
2、Flume的各种配置方式
2.1 安装Flume
只需要将 flume/conf 下的 flume-env.sh.template 文件修改为 flume-env.sh,并配置JAVA_HOME即可
2.2 常用的source、channel、sink
source: avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy
channel: hdfs、logger、avro、thrift、ipc、file、HBase、solr
sink:Memory Channel 、File Channel 、Kafka Channel
2.3 理解Agent的配置文件含义
比如agent、source、channel、sink的命名、种类、关联
2.4 常见的普通配置架构
监听本地端口(netcat source)、追加文件(exec source)、本地文件夹(spooldir source)、本地多个文件(taildir source),通过memory channel或者file channel缓存,发送给logger sink、hdfs sink
3、Flume进阶
3.1 Flume的事务
Flume有两个事务:Put事务和Take事务,以及这两个事务的临时缓冲区、什么时候推送event或拉取event、rollback
3.2 Flume的内部原理
理解channel processor、interceptor、channel selector(默认Replicating Channel Selector和Multiplexing Channel Selector)、sink processor(DefaultSinkProcessor和LoadBalancingSinkProcessor和FailoverSinkProcessor)
3.3 Flume的拓扑结构
高级配置(avro):简单串联、复制和多路复用、负载均衡和故障转移、聚合
avro:一个简易的RPC通信框架
3.4 自定义Interceptor、source、sink
3.5 Flume 数据流监控
怎样安装部署Ganglia、操作 Flume 测试监控
4、企业面试(重点)
1.1 你是如何实现Flume数据传输的监控的
1.2 Flume的Source,Sink,Channel 的作用?你们 Source 是什么类型?
1.3 Flume 的 Channel Selectors
1.4 Flume 参数调优
1.5 Flume 的事务机制
1.6 Flume 采集数据会丢失吗?