一、场景一描述:
线上api接口服务通过log4j往本地磁盘上打印日志,在接口服务器上安装flume,通过exec source收集日志,然后通过avro sink发送到汇总服务器上的flume;汇总服务器上的flume通过avro source接收日志,然后通过file_roll sink写到本地磁盘。
二、场景二描述:
线上api接口服务通过log4j往本地磁盘上打印日志,在接口服务器上安装flume,通过exec source收集日志,然后通过avro sink将日志发送到汇总服务器上的flume;在汇总服务器上的flume,通过avro source接收到日志,然后通过hdfs sink备份到hdfs上。
上述是俩种比较常见的flume 应用场景,下面是对自定义数据源和数据输出的理解:
source - netcat 这是一种类似于生成socket服务器的方式, 常见实在数据源处配置此选项,用于测试比较方便
source - exec 这是监控文件的方式,如果文件内容发生变化就会触发收集
source - avro 这是相当于跨域转接数据的方式,常见与分布式实现多数据源汇总的方式,比如接受多个flume sink
对于输出sink就比较多了
sink -loger 直接打印到控制台,当然这种用于测试的比较多
sink -sparkStreaming 传送到sparkStreaming
sink - kafka 传送到kafka