-
flume自定义代码经常需要部署到Flume上
-
自定义代码可能是:拦截器、序列化器、反序列化器,Http Source 的自定义Handler等
-
Flume提供了一种简单的部署自定义代码的方式:plugins.d框架
-
plugins.d目录是自动添加到Flume环境变量的,因此不需要明确添加到FLUME_CLASSPATH环境变量中。
-
如果FLUME_HOME目录下没有plugins.d目录,可以新建一个。对于每个自定义组件,一般在plugins.d目录下创建一个新的子目录(名字无关紧要,自己定),在这个新的子目录下,需要有3个目录(重要)
目录名称 | 说明 |
lib | 包含了实际的JAR文件,JAR文件包含了插件的类和可以进入配置文件的Builder,通过Flume进行实例化 |
libext | 包含了插件依赖的内部依赖 |
native | 包含了任何需要通过Java Native Interface(JNI)加载的本地库 |
plugins.d目录结构举例