sriramdas sivasai
10/05/2023, 6:13 AMFROM apache/druid:27.0.0
COPY mysql-connector-java-5.1.49.jar /opt/druid/extensions/mysql-metadata-storage/mysql-connector-java-5.1.49.jar
While checking the log, its listing the mysql driver: Loading extension [mysql-metadata-storage], jars: mysql-metadata-storage-27.0.0.jar, mysql-connector-java-5.1.49.jar but its still throwing an error to add mysql driver. does any one have any idea on this ?
i have downloaded the jar from here : https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar
2023-10-05T06:02:55+00:00 startup service coordinator
Setting druid.host=192.168.230.150 in /tmp/conf/druid/cluster/master/coordinator-overlord/runtime.properties
2023-10-05 06:02:56,465 main INFO Registered Log4j as the java.util.logging.LogManager.
2023-10-05T06:02:56,662 INFO [main] org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 5.3.6.Final
2023-10-05T06:02:57,088 INFO [main] org.apache.druid.guice.ExtensionsLoader - Loading extension [druid-histogram], jars: druid-histogram-27.0.0.jar
2023-10-05T06:02:57,122 INFO [main] org.apache.druid.guice.ExtensionsLoader - Loading extension [mysql-metadata-storage], jars: mysql-metadata-storage-27.0.0.jar, mysql-connector-java-5.1.49.jar
2023-10-05T06:02:58,473 INFO [main] org.apache.druid.guice.JsonConfigurator - Skipping druid.emitter.prometheus.port property: one of it's prefixes is also used as a property key. Prefix: druid
2023-10-05T06:02:58,473 INFO [main] org.apache.druid.guice.JsonConfigurator - Skipping druid.emitter.logging.logLevel property: one of it's prefixes is also used as a property key. Prefix: druid
2023-10-05T06:02:58,571 INFO [main] org.apache.druid.metadata.storage.mysql.MySQLConnector - Loading MySQL metadata connector driver com.mysql.jdbc.driver
2023-10-05T06:02:58,572 INFO [main] org.apache.druid.metadata.storage.mysql.MySQLConnector - Loading MySQL metadata connector driver com.mysql.jdbc.driver
2023-10-05T06:02:58,582 INFO [main] org.apache.druid.emitter.prometheus.Metrics - Using default metric configuration
2023-10-05T06:02:58,608 INFO [main] org.apache.druid.server.emitter.EmitterModule - Using emitter [org.apache.druid.emitter.prometheus.PrometheusEmitter@4cadd4d4] for metrics and alerts, with dimensions [{version=27.0.0}].
Exception in thread "main" java.lang.RuntimeException: com.google.inject.CreationException: Unable to create injector, see the following errors:
1) Error injecting constructor, org.apache.druid.java.util.common.ISE: Could not find com.mysql.jdbc.driver on the classpath. The MySQL Connector library is not included in the Druid distribution but is required to use MySQL. Please download a compatible library (for example 'mysql-connector-java-5.1.49.jar') and place it under 'extensions/mysql-metadata-storage/'. See <https://druid.apache.org/downloads> for more details.
at org.apache.druid.metadata.storage.mysql.MySQLConnector.<init>(MySQLConnector.java:68)
while locating org.apache.druid.metadata.storage.mysql.MySQLConnector
at org.apache.druid.metadata.storage.mysql.MySQLMetadataStorageModule.configure(MySQLMetadataStorageModule.java:79) (via modules: com.google.inject.util.Modules$OverrideModule -> org.apache.druid.metadata.storage.mysql.MySQLMetadataStorageModule)
while locating org.apache.druid.metadata.MetadataStorageConnector annotated with @com.google.inject.multibindings.Element(setName=,uniqueId=215, type=MAPBINDER, keyType=java.lang.String)
at org.apache.druid.guice.PolyBind.createChoiceWithDefault(PolyBind.java:110) (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.MetadataStorageConnector
for the 1st parameter of org.apache.druid.guice.JacksonConfigManagerModule.getConfigManager(JacksonConfigManagerModule.java:52)
at org.apache.druid.guice.JacksonConfigManagerModule.getConfigManager(JacksonConfigManagerModule.java:52) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.JacksonConfigManagerModule)
while locating org.apache.druid.common.config.ConfigManager
for the 1st parameter of org.apache.druid.common.config.JacksonConfigManager.<init>(JacksonConfigManager.java:54)
at org.apache.druid.guice.JacksonConfigManagerModule.configure(JacksonConfigManagerModule.java:41) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.guice.JacksonConfigManagerModule)
while locating org.apache.druid.common.config.JacksonConfigManager
for the 1st parameter of org.apache.druid.guice.JacksonConfigProvider.configure(JacksonConfigProvider.java:65)
at org.apache.druid.guice.JacksonConfigProvider.bind(JacksonConfigProvider.java:38) (via modules: com.google.inject.util.Modules$OverrideModule -> com.google.inject.util.Modules$OverrideModule -> org.apache.druid.cli.CliOverlord$1 -> org.apache.druid.cli.CliOverlord$1$2)
Caused by: org.apache.druid.java.util.common.ISE: Could not find com.mysql.jdbc.driver on the classpath. The MySQL Connector library is not included in the Druid distribution but is required to use MySQL. Please download a compatible library (for example 'mysql-connector-java-5.1.49.jar') and place it under 'extensions/mysql-metadata-storage/'. See <https://druid.apache.org/downloads> for more details.
at org.apache.druid.metadata.storage.mysql.MySQLConnector.tryLoadDriverClass(MySQLConnector.java:280)
at org.apache.druid.metadata.storage.mysql.MySQLConnector.<init>(MySQLConnector.java:70)
at org.apache.druid.metadata.storage.mysql.MySQLConnector$$FastClassByGuice$$4c602f87.newInstance(<generated>)
at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:111)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
at com.google.inject.internal.InjectorI