自定义Flume插件
Flume的很多组件都是可以使用自定义的组件,可以自己实现Source、Channel、Sink,也可以编写Channel Selectors、Sink Processors、Interceptors、Monitoring等。每个组件的实现都是继承组件定义的接口,实现相关的方法,具体的实现可以参考Flume已经写好的组件。
创建插件项目,继承组件的接口并实现相关方法
1 | public class DmpMemoryChannel extends BasicChannelSemantics { |
打Jar包,并放入到 plugins.d 目录中
在plugins.d中创建dmp-flume-plugin/lib、dmp-flume-plugin/libext、dmp-flume-plugin/native目录,lib中放插件的Jar包,libext中放插件依赖的Jar包,native存放any required native libraries, such as .so files。
配置组件
1 | agent.channels.memoryChannel1.type = org.sndo.dmp.flume.channel.memory.DmpMemoryChannel |