flume的source channel sink官网文档很丰富,有什么配置项不清晰直接参考官网文档。文档里面的粗体项是指必须配置的项。参考:
source
1.Spooling Directory Source.监控某个目录的source。监控到的文件会重命名成.COMPLETED,监控目录中如果有文件不是COMPLETED结尾的,source都会采集,包括监控目录历史的数据。重命名的后缀是可配置的。启动flume agent进程的用户要对监控的文件夹有读写权限,否则会报错,监控不了。但是里面的文件只需要有读的权限就可以了。
sink
1.HDFS Sink.将channel中的数据输出到hdfs目录,主意属性hdfs.fileType,如果没有配置输出的数据是乱码的,要改成DataStream,我们看起来才不会乱码。参考:
一个source对应多个channel,sink的情形,一个channel只能发送到一个sink中,参考:
配置案例如下:
stbagent.sources = stbs1 stbagent.channels = stbc1 stbc2stbagent.sinks = stbk1 kafkasink# sourcesstbagent.sources.stbs1.type = spooldirstbagent.sources.stbs1.spoolDir = /tmp/flume-monitor-dirstbagent.sources.stbs1.channels = stbc1 stbc2# channelsstbagent.channels.stbc1.type = memorystbagent.channels.stbc2.type = memory # sinksstbagent.sinks.stbk1.type = hdfsstbagent.sinks.stbk1.hdfs.path = /tmp/flume-monitor-dirstbagent.sinks.stbk1.hdfs.fileType = DataStreamstbagent.sinks.stbk1.channel = stbc1stbagent.sinks.kafkasink.type = org.apache.flume.sink.kafka.KafkaSink stbagent.sinks.kafkasink.brokerList = 192.168.1.11:9092,192.168.1.12:9092,192.168.1.13:9092stbagent.sinks.kafkasink.topic = flume-topicstbagent.sinks.kafkasink.channel = stbc2 |