Flume 是什么
flume 是(数据采集,数据收集)框架,通过分布式的形式进行数据采集
Flume 是可信任的,可信任体现在什么地方?
如果节点出现异常、导致数据传输中断,进行数据回滚,或者数据重发
对于同一个节点,source向channel写数据,是一个批次写的,如果该批次内的数据出现异常,则不会写入channel中,同批次其他数据也不会写入channel
可以对接的数据源
console,rpc,text,tail,syslog,exec
flume 可以输出的数据源
磁盘,hdfs,hbase,网络传输给下游,kafka
flume的核心
agent :一个完整的数据收集工具
flume中最基本的数据单元?
event(由两部分组成 head和body)
head由 kv形式,key的目的 路由 截取 分发
body:实际发送内容
agent由什么组成
agent内部分为source,channel,sink
source flume的数据源
channel 数据的缓存池
file 数据不丢失,速度相对慢
Sink:将event传输到外部的数据介质上
拦截器(Interceptor)
Timestamp Interceptor:在event的header中添加一个key叫:timestamp,value为当前的时间戳
Host Interceptor:在event的header中添加一个key叫:host,value为当前机器的hostname或者ip
Static Interceptor:可以在event的header中添加自定义的key和value
Regex Filtering Interceptor:通过正则来清洗或包含匹配的events
Regex Extractor Interceptor:通过正则表达式来在header中添加指定的key,value则为正则匹配的部分
拦截器可以以chain形式存在,可以同时配多个拦截器
选择器(Selector)
(1)复制(默认):replicating
(2)复用:multiplexing