基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
ext_plugin_config
更新时间:2026-09-15 17:00:16
ext_plugin_config 用于声明集群需要加载的外表 C++ 插件及其动态库位置。
功能描述
配置值为 JSON 数组,每个元素为一个对象,包含必填的 name 字段和可选的 path 字段。name 表示插件名称(如 paimon),path 指定插件动态库 .so 文件的绝对路径;未指定 path 时,系统按 lib_ob_<name>.so 的命名约定在 LD_LIBRARY_PATH 中解析(系统会先将 _ob_additional_lib_path 并入搜索路径)。每台 OBServer 都必须能访问到对应的 .so 文件。
该配置采用懒加载机制,进程生命周期内仅读取一次。首次进行外表识别时,系统解析 JSON 并通过 dlopen 加载全部条目。运行期间修改配置仅更新持久化值,已加载的插件集合不会变化,必须重启 OBServer 才能生效。
属性说明
| 属性 | 说明 |
|---|---|
| 参数类型 | String |
| 默认值 | [{"name":"paimon"}] |
| 取值范围 | 必须是 JSON 数组;空数组 [] 表示不加载任何外表插件。每个元素必须是对象,含必填字段 name(非空,长度 ≤ 64,大小写不敏感,内部转小写)和可选字段 path(绝对路径,空或缺省则按 lib_ob_<name>.so 解析)。数组最多 256 项,超出部分截断并记录日志。name / path 遵循 JSON 转义规则(反斜杠写成 \\)。非法 JSON 或非数组值在加载时记录日志并跳过,不加载任何插件。 |
| 是否可修改 | 是,支持通过 ALTER SYSTEM SET 语句修改。 |
| 是否重启 OBServer 节点生效 | 是,修改后需要重启 OBServer 节点生效。 |
使用说明
- 默认配置已声明加载 paimon 插件,将
lib_ob_paimon.so及其依赖库放到每台 OBServer 的LD_LIBRARY_PATH下即可。若.so文件不在默认搜索路径中,使用path字段指定绝对路径。 - 修改配置后必须重启全部 OBServer,各节点的配置与
.so布局需保持一致,否则会出现部分节点报 plugin not loaded 的情况。
配置示例
-- 查看当前值
SHOW PARAMETERS LIKE 'ext_plugin_config';
-- 默认配置:按 LD_LIBRARY_PATH 查找 lib_ob_paimon.so
ALTER SYSTEM SET ext_plugin_config = '[{"name":"paimon"}]';
-- 显式指定动态库的绝对路径
ALTER SYSTEM SET ext_plugin_config = '[{"name":"paimon","path":"/home/admin/oceanbase/lib/lib_ob_paimon.so"}]';
-- 同时声明多个插件
ALTER SYSTEM SET ext_plugin_config = '[{"name":"paimon"},{"name":"odps","path":"/abs/lib_ob_odps.so"}]';
-- 关闭全部外表插件
ALTER SYSTEM SET ext_plugin_config = '[]';