服务端扩展
配置 Kyuubi 使用自定义事件处理器
登录后可跨设备保存划线和私人笔记登录
Kyuubi 提供了事件处理机制,可用于记录一些事件。除了内置的 JsonLoggingEventHandler 之外,Kyuubi 还支持自定义事件处理器。它通常用于将 Kyuubi 事件写入某些外部系统,例如 Kafka、ElasticSearch 等。org.apache.kyuubi.events.handler.CustomEventHandlerProvider 具有一个无参构造函数,可用于创建自定义的 EventHandler。
package org.apache.kyuubi.events.handler
import org.apache.kyuubi.config.KyuubiConf
import org.apache.kyuubi.events.KyuubiEvent
/**
* Custom EventHandler provider. We can implement it to provide a custom EventHandler.
* The implementation will be loaded by ``Service Provider Interface``.
*/
trait CustomEventHandlerProvider {
/**
* The create method is called to create a custom event handler
* when this implementation is loaded.
*
* @param kyuubiConf The conf can be used to read some configs.
* @return A custom handler to handle KyuubiEvent.
*/
def create(kyuubiConf: KyuubiConf): EventHandler[KyuubiEvent]
}构建自定义 EventHandler
要创建派生自上述接口的自定义 EventHandlerProvider 类,我们需要:
- 引用相应的库
<dependency>
<groupId>org.apache.kyuubi</groupId>
<artifactId>kyuubi-events_2.12</artifactId>
<version>1.9.1</version>
<scope>provided</scope>
</dependency>实现
org.apache.kyuubi.events.handler.CustomEventHandlerProvider在项目的
src/main/resources/META-INF/services目录下添加一个名为org.apache.kyuubi.events.handler.CustomEventHandlerProvider的文件,其内容为自定义类的名称。
启用自定义 EventHandler
要启用自定义的 EventHandler,我们需要:
将 jar 包放入
$KYUUBI_HOME/jars目录,使其对 Kyuubi 服务器的类路径可见。在安装了 Kyuubi 服务器的每个节点上,将以下配置项添加到
$KYUUBI_HOME/conf/kyuubi-defaults.conf中。如果需要使用其他事件处理器,可以在CUSTOM之后追加。
kyuubi.backend.server.event.loggers=CUSTOM- 重启所有 Kyuubi 服务实例。
评论
登录后参与评论
正在加载评论…
KnowForge