flume插件开发及部署

本文基于flume1.7讲解
一、自定义source开发
方法一:
这里写图片描述

你可以在start方法中启动额外的线程,不断的往channel中发数据。

方法二:
这里写图片描述

此方法中多了一个process()方法,这个方法在PollableSourceRunner类中会被一个线程不断的调用。yinc可以在process()实现不断重发。

二、自定义sink开发
这里写图片描述

process会不断调用,你只需在process中去取channel的数据即可。

三、插件部署
1.把开发的类打成JAR包,比如SpoolDirectoryExtSource.jar

2.直接在flume下创建plugins.d目录

目录结构为:

plugins.d/
plugins.d/SpoolDirectoryExtSource/
plugins.d/SpoolDirectoryExtSource/lib/SpoolDirectoryExtSource.jar
plugins.d/SpoolDirectoryExtSource/libext/
plugins.d/SpoolDirectoryExtSource/native/

lib是放插件JAR的目录,libext是放插件的依赖JAR的目录,native放使用到的原生库

3.重新启动flume agent,flume就会自动装载我们的插件,这样在flume.conf中就可以使用全路径类名配置type属性了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值