一、 Avro Source
- 监听AVRO端口,接受来自外部AVRO客户端的事件流。
- 是实现多级流动、扇出流、扇入流等效果的基础。
- 另外也可以接受通过flume提供的Avro客户端发送的日志信息。
- Avro Source 接收到的是Avro格式的数据,需要Avro反序列化为原来的格式,与Avro Sink配合使用
a.配置Agent
b.启动Agent
c.通过Avro-Client测试
二、Exec Source
可以将命令产生的输出作为源
a.配置Agent
b.启动Agent
三、Spooling Directory Source
- 这个Source允许你将将要收集的数据放置到"自动搜集"目录中。这个Source将监视该目录,并将解析新文件的出现。
- 事件处理逻辑是可插拔的,当一个文件被完全读入信道,它会被重命名或可选的直接删除。
- 要注意的是,放置到自动搜集目录下的文件不能修改,如果修改,则flume会报错。
- 另外,也不能产生重名的文件,如果有重名的文件被放置进来,则flume会报错。
四、NetCat Source
一个NetCat Source用来监听一个指定端口,并将接收到的数据的每一行转换为一个事件。
五、Sequence Generator Source – 序列发生器源
- 一个简单的序列发生器,不断的产生事件,值是从0开始每次递增1。
- 主要用来进行测试。
配置Agent
六、HTTP Source
- 此Source接受HTTP的GET和POST请求作为Flume的事件。
- 其中GET方式应该只用于试验。
需要提供一个可插拔的"处理器"来将请求转换为事件对象,这个处理器必须实现HTTPSourceHandler接口。
常见的Handler:
配置Agent
通过curl命令测试
七、Custom Source
- 如果以上内置的Source都不能满足需求,可以自己开发Source
- 按照Flume要是写一个类实现相应接口。
- 将类打成jar放置到flume的lib目录下。
- 在配置文件中通过类的全路径名加载Source。