You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Druid中同时使用MySQL与PostgreSQL扩展并添加Postgres驱动到类路径?

解决Druid同时使用MySQL元数据存储与PostgreSQL查询的问题

问题根源在于mysql-metadata-storage和postgresql-metadata-storage这两个扩展都实现了Druid的MetadataStorageConnectorProvider接口,同时加载会触发类冲突,因此Druid禁止同时启用两者。

要实现用MySQL存元数据、用PostgreSQL做查询的需求,无需加载postgresql-metadata-storage扩展,仅需手动将PostgreSQL JDBC驱动加入Druid的类路径即可,具体步骤如下:

  • 下载兼容的PostgreSQL JDBC驱动:选择与你的Druid版本匹配的PostgreSQL驱动包(例如postgresql-42.7.0.jar,具体版本可根据Druid官方说明或实际测试确认)。
  • 放置驱动包到类路径:将下载好的驱动包复制到Druid安装目录下的lib文件夹中。如果是集群部署,所有需要处理查询的节点(如Broker、Coordinator、Overlord)都要放置该驱动包。
  • 调整扩展加载配置:修改druid.extensions.loadList,移除postgresql-metadata-storage,仅保留mysql-metadata-storage,示例配置如下:
    druid.extensions.loadList=["druid-s3-extensions","druid-kafka-indexing-service","druid-multi-stage-query","druid-histogram","druid-kinesis-indexing-service","clarity-emitter","druid-parquet-extensions","druid-azure-extensions","druid-datasketches","mysql-metadata-storage","druid-lookups-cached-global"]
    
  • 重启Druid服务:所有节点重启后,PostgreSQL驱动会被加载到类路径中,此时即可在查询时通过JDBC连接PostgreSQL数据源,同时元数据仍由MySQL存储。

注意:务必保证驱动版本与Druid版本兼容,避免因版本不匹配引发连接异常。

内容的提问来源于stack exchange,提问作者Optimus Prime

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 00:38:24