ClickHouse / clickhouse-jdbc-bridge

A JDBC proxy from ClickHouse to external databases
Apache License 2.0
168 stars 60 forks source link

2.0.3 can't load mysql jar #107

Closed Data-bytes305 closed 3 years ago

Data-bytes305 commented 3 years ago

image

2021-06-12 19:33:51.051 [main] [INFO ] {Utils:940} - Loading JSON from file [config/vertx.json]... 2021-06-12 19:33:51.051 [main] [WARN ] {Utils:949} - Failed to load JSON from file config/vertx.json 2021-06-12 19:33:52.052 [vert.x-eventloop-thread-0] [INFO ] {Utils:940} - Loading JSON from file [config/server.json]... 2021-06-12 19:33:52.052 [vert.x-eventloop-thread-0] [WARN ] {Utils:949} - Failed to load JSON from file config/server.json 2021-06-12 19:33:52.052 [vert.x-eventloop-thread-0] [INFO ] {JdbcBridgeVerticle:580} - Start to monitor configuration file(s) at [config/datasources] 2021-06-12 19:33:52.052 [vert.x-eventloop-thread-0] [INFO ] {JdbcBridgeVerticle:580} - Start to monitor configuration file(s) at [config/schemas] 2021-06-12 19:33:52.052 [vert.x-eventloop-thread-0] [INFO ] {JdbcBridgeVerticle:580} - Start to monitor configuration file(s) at [config/queries] 2021-06-12 19:33:52.052 [vert.x-eventloop-thread-0] [INFO ] {BaseRepository:275} - Registering new type of NamedDataSource: [jdbc] -> [ru.yandex.clickhouse.jdbcbridge.impl.JdbcDataSource] 2021-06-12 19:33:52.052 [vert.x-eventloop-thread-0] [INFO ] {BaseRepository:278} - Default type of NamedDataSource is set to [jdbc] 2021-06-12 19:33:52.052 [vert.x-eventloop-thread-0] [INFO ] {BaseRepository:275} - Registering new type of NamedDataSource: [script] -> [ru.yandex.clickhouse.jdbcbridge.impl.ScriptDataSource] 2021-06-12 19:33:52.052 [vert.x-eventloop-thread-0] [INFO ] {Utils:940} - Loading JSON from file [config/httpd.json]... 2021-06-12 19:33:52.052 [vert.x-eventloop-thread-0] [WARN ] {Utils:949} - Failed to load JSON from file config/httpd.json 2021-06-12 19:33:52.052 [vert.x-eventloop-thread-0] [INFO ] {JdbcBridgeVerticle:272} - Starting web server... 2021-06-12 19:33:52.052 [vert.x-worker-thread-1] [INFO ] {JsonFileRepository:75} - No NamedSchema configuration found 2021-06-12 19:33:52.052 [vert.x-worker-thread-1] [INFO ] {JsonFileRepository:75} - No NamedQuery configuration found 2021-06-12 19:33:53.053 [vert.x-eventloop-thread-0] [INFO ] {JdbcBridgeVerticle:276} - Server http://0.0.0.0:9019 started in 1301 ms 2021-06-12 19:33:53.053 [vert.x-worker-thread-2] [INFO ] {JsonFileRepository:87} - Loading NamedDataSource configuration... 2021-06-12 19:33:53.053 [vert.x-worker-thread-2] [INFO ] {BaseRepository:206} - Adding NamedDataSource(id=mysql8)... 2021-06-12 19:33:53.053 [vert.x-worker-thread-2] [ERROR] {HikariConfig:482} - Failed to load driver class com.mysql.jdbc.Driver from HikariConfig class classloader sun.misc.Launcher$AppClassLoader@70dea4e 2021-06-12 19:33:53.053 [vert.x-worker-thread-2] [ERROR] {PropertyElf:164} - Failed to set property driverClassName on target class ru.yandex.clickhouse.jdbcbridge.internal.zaxxer.hikari.HikariConfig java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at ru.yandex.clickhouse.jdbcbridge.internal.zaxxer.hikari.util.PropertyElf.setProperty(PropertyElf.java:150) at ru.yandex.clickhouse.jdbcbridge.internal.zaxxer.hikari.util.PropertyElf.lambda$setTargetFromProperties$0(PropertyElf.java:59) at java.util.Hashtable.forEach(Hashtable.java:879) at ru.yandex.clickhouse.jdbcbridge.internal.zaxxer.hikari.util.PropertyElf.setTargetFromProperties(PropertyElf.java:54) at ru.yandex.clickhouse.jdbcbridge.internal.zaxxer.hikari.HikariConfig.(HikariConfig.java:135) at ru.yandex.clickhouse.jdbcbridge.impl.JdbcDataSource.(JdbcDataSource.java:440) at ru.yandex.clickhouse.jdbcbridge.impl.JdbcDataSource.newInstance(JdbcDataSource.java:298) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at ru.yandex.clickhouse.jdbcbridge.core.Extension.newInstance(Extension.java:224) at ru.yandex.clickhouse.jdbcbridge.core.BaseRepository.createFromConfig(BaseRepository.java:97) at ru.yandex.clickhouse.jdbcbridge.core.BaseRepository.update(BaseRepository.java:209) at ru.yandex.clickhouse.jdbcbridge.impl.JsonFileRepository.reload(JsonFileRepository.java:94) at ru.yandex.clickhouse.jdbcbridge.JdbcBridgeVerticle.lambda$null$5(JdbcBridgeVerticle.java:591) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:313) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.core.impl.TaskQueue.run(TaskQueue.java:76) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at ru.yandex.clickhouse.jdbcbridge.internal.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.RuntimeException: Failed to load driver class com.mysql.jdbc.Driver in either of HikariConfig class loader or Thread context classloader at ru.yandex.clickhouse.jdbcbridge.internal.zaxxer.hikari.HikariConfig.setDriverClassName(HikariConfig.java:486) ... 26 more 2021-06-12 19:33:53.053 [vert.x-worker-thread-2] [WARN ] {BaseRepository:222} - Failed to add NamedDataSource(id=mysql8) java.lang.IllegalStateException: Failed to create instance from extension: class ru.yandex.clickhouse.jdbcbridge.impl.JdbcDataSource at ru.yandex.clickhouse.jdbcbridge.core.Extension.newInstance(Extension.java:227) at ru.yandex.clickhouse.jdbcbridge.core.BaseRepository.createFromConfig(BaseRepository.java:97) at ru.yandex.clickhouse.jdbcbridge.core.BaseRepository.update(BaseRepository.java:209) at ru.yandex.clickhouse.jdbcbridge.impl.JsonFileRepository.reload(JsonFileRepository.java:94) at ru.yandex.clickhouse.jdbcbridge.JdbcBridgeVerticle.lambda$null$5(JdbcBridgeVerticle.java:591) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:313) at ru.yandex.clickhouse.jdbcbridge.internal.vertx.core.impl.TaskQueue.run(TaskQueue.java:76) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at ru.yandex.clickhouse.jdbcbridge.internal.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at ru.yandex.clickhouse.jdbcbridge.internal.zaxxer.hikari.util.PropertyElf.setProperty(PropertyElf.java:165) at ru.yandex.clickhouse.jdbcbridge.internal.zaxxer.hikari.util.PropertyElf.lambda$setTargetFromProperties$0(PropertyElf.java:59) at java.util.Hashtable.forEach(Hashtable.java:879) at ru.yandex.clickhouse.jdbcbridge.internal.zaxxer.hikari.util.PropertyElf.setTargetFromProperties(PropertyElf.java:54) at ru.yandex.clickhouse.jdbcbridge.internal.zaxxer.hikari.HikariConfig.(HikariConfig.java:135) at ru.yandex.clickhouse.jdbcbridge.impl.JdbcDataSource.(JdbcDataSource.java:440) at ru.yandex.clickhouse.jdbcbridge.impl.JdbcDataSource.newInstance(JdbcDataSource.java:298) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at ru.yandex.clickhouse.jdbcbridge.core.Extension.newInstance(Extension.java:224) ... 10 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at ru.yandex.clickhouse.jdbcbridge.internal.zaxxer.hikari.util.PropertyElf.setProperty(PropertyElf.java:150) ... 21 more Caused by: java.lang.RuntimeException: Failed to load driver class com.mysql.jdbc.Driver in either of HikariConfig class loader or Thread context classloader at ru.yandex.clickhouse.jdbcbridge.internal.zaxxer.hikari.HikariConfig.setDriverClassName(HikariConfig.java:486) ... 26 more

zhicwu commented 3 years ago

I assume your server has internet access. Will it work if you change driverUrls to https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar?

Alternatively, you may create drivers, move JDBC drivers to the directory, and then restart jdbc bridge.

Update: You should change the path to URL, which is something looks like file:///home/....

Data-bytes305 commented 3 years ago

THANK YOU .