“druid.extensions.loadList”中指定的扩展[/opt/apache-druid-0.20.1/dist/druid/extensions/druid-orc-extensions]不存在?

问题描述

我正在尝试在 Kube 中部署 apache/druid:0.20.1。我收到错误

Extension [/opt/apache-druid-0.20.1/dist/druid/extensions/druid-orc-extensions] specified in "druid.extensions.loadList" didn't exist!? 

                                     

我已经从通用属性的扩展列表中删除了 druid-orc-extensions,但对于下一个 druid-s3-extensions 仍然保持相同,依此类推。我在谷歌的某个地方发现 repositoryList 解决了这个问题。我确实尝试过:

druid.extensions.repositoryList=[ "druid-hdfs-storage","druid-kafka-indexing-service","druid-datasketches","druid-s3-extensions","postgresql-Metadata-storage","druid-parquet-extensions","druid-basic-security"]

现在,我没有收到错误,但它也无法连接 Postgres 元数据并给出错误

2021-04-01T14:14:06,926 ERROR [main] org.apache.druid.cli.CliCoordinator - Error when starting up. Failing.
com.google.inject.ProvisionException: Unable to provision,see the following errors:
1) UnkNown provider[postgresql] of Key[type=org.apache.druid.Metadata.MetadataStorageProvider,annotation=[none]],kNown options[[derby]]
 at org.apache.druid.guice.polyBind.createChoiceWithDefault(polyBind.java:109) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.Metadata.storage.derby.DerbyMetadataStorageDruidModule)
 while locating org.apache.druid.Metadata.MetadataStorageProvider
 while locating org.apache.druid.Metadata.MetadataStorage

并且当我不在 common.runtime.properties 中提供 extension.loadList 时,它会尝试加载所有扩展然后给出错误

Exception in thread "main" java.lang.RuntimeException: com.google.inject.CreationException: Unable to create injector,see the following errors:
1) No implementation for org.apache.druid.query.QuerySegmentWalker was bound.
  while locating com.google.inject.Provider<org.apache.druid.query.QuerySegmentWalker>
    for the 1st parameter of org.apache.druid.query.movingaverage.MovingAverageQueryToolChest.<init>(MovingAverageQueryToolChest.java:61)
  at org.apache.druid.query.movingaverage.MovingAverageQueryModule.configure(MovingAverageQueryModule.java:48) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.query.movingaverage.MovingAverageQueryModule)
2) No implementation for org.apache.druid.client.TimelineserverView was bound.
  while locating org.apache.druid.client.TimelineserverView
    for the 1st parameter of org.apache.druid.query.materializedview.DataSourceOptimizer.<init>(DataSourceOptimizer.java:62)
  at org.apache.druid.query.materializedview.MaterializedViewSelectionDruidModule.configure(MaterializedViewSelectionDruidModule.java:55) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.query.materializedview.MaterializedViewSelectionDruidModule)
3) No implementation for org.apache.druid.query.QueryToolChestWarehouse was bound.
  while locating org.apache.druid.query.QueryToolChestWarehouse
    for the 1st parameter of org.apache.druid.query.materializedview.MaterializedViewQueryQueryToolChest.<init>(MaterializedViewQueryQueryToolChest.java:48)
  at org.apache.druid.query.materializedview.MaterializedViewSelectionDruidModule.configure(MaterializedViewSelectionDruidModule.java:52) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.query.materializedview.MaterializedViewSelectionDruidModule)
4) No implementation for org.apache.druid.server.log.RequestLogger was bound.
  while locating org.apache.druid.server.log.RequestLogger
    for the 2nd parameter of org.apache.druid.query.movingaverage.MovingAverageQueryToolChest.<init>(MovingAverageQueryToolChest.java:61)
  at org.apache.druid.query.movingaverage.MovingAverageQueryModule.configure(MovingAverageQueryModule.java:48) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.query.movingaverage.MovingAverageQueryModule)
5) A binding to com.google.common.base.supplier<org.apache.druid.server.audit.sqlAuditManagerConfig> was already configured at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:151) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.Metadata.storage.MysqL.MysqLMetadataStorageModule).
  at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:151) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.Metadata.storage.postgresql.PostgresqlMetadataStorageModule)
6) A binding to com.google.common.base.supplier<org.apache.druid.server.audit.sqlAuditManagerConfig> was already configured at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:151) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.Metadata.storage.MysqL.MysqLMetadataStorageModule).
  at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:151) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.Metadata.storage.sqlserver.sqlServerMetadataStorageModule)
7) A binding to org.apache.druid.server.audit.sqlAuditManagerConfig was already configured at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:152) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.Metadata.storage.MysqL.MysqLMetadataStorageModule).
  at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:152) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.Metadata.storage.postgresql.PostgresqlMetadataStorageModule)
8) A binding to org.apache.druid.server.audit.sqlAuditManagerConfig was already configured at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:152) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.Metadata.storage.MysqL.MysqLMetadataStorageModule).
  at org.apache.druid.guice.JsonConfigProvider.bind(JsonConfigProvider.java:152) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.Metadata.storage.sqlserver.sqlServerMetadataStorageModule)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)