Failed to initialize pool: Communications link failure
See original GitHub issueQuestion
I deployed sharding-proxy in kubernetes, and the database was also deployed in kubernetes. Now I use coreDNS with kubernetes to do DNS resolution, but the service reported an error. The error log is as follows
Exception in thread "main" org.apache.shardingsphere.core.exception.ShardingException: Can not build data source, name is ds_master.
at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.datasource.JDBCBackendDataSource.createDataSources(JDBCBackendDataSource.java:79)`
at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.datasource.JDBCBackendDataSource.(JDBCBackendDataSource.java:67)
at org.apache.shardingsphere.shardingproxy.backend.schema.LogicSchema.(LogicSchema.java:63)
at org.apache.shardingsphere.shardingproxy.backend.schema.impl.MasterSlaveSchema.(MasterSlaveSchema.java:58)
at org.apache.shardingsphere.shardingproxy.backend.schema.LogicSchemaFactory.newInstance(LogicSchemaFactory.java:59)
at org.apache.shardingsphere.shardingproxy.backend.schema.LogicSchemas.initSchemas(LogicSchemas.java:104)
at org.apache.shardingsphere.shardingproxy.backend.schema.LogicSchemas.init(LogicSchemas.java:94)
at org.apache.shardingsphere.shardingproxy.backend.schema.LogicSchemas.init(LogicSchemas.java:78)
at org.apache.shardingsphere.shardingproxy.Bootstrap.startWithoutRegistryCenter(Bootstrap.java:101)
at org.apache.shardingsphere.shardingproxy.Bootstrap.main(Bootstrap.java:81)
Caused by: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Communications link failure
at com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(HikariPool.java:528)
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:520)
at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:112)
at com.zaxxer.hikari.HikariDataSource.(HikariDataSource.java:72)
at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.datasource.JDBCRawBackendDataSourceFactory.build(JDBCRawBackendDataSourceFactory.java:77)
at org.apache.shardingsphere.shardingproxy.backend.communication.jdbc.datasource.JDBCBackendDataSource.createDataSources(JDBCBackendDataSource.java:75)
... 9 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)
at com.mysql.jdbc.MysqlIO.(MysqlIO.java:342)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2197)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2230)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2025)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:778)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:95)
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:101)
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:341)
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:193)
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:428)
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:499)
My configuration file is as follows config-master_slave.yaml
schemaName: master_slave_db
dataSources:
ds_master:
url: jdbc:mysql://master-aaa.test:3306/lly
username: root
password: root
connectionTimeoutMilliseconds: 30000
idleTimeoutMilliseconds: 60000
maxLifetimeMilliseconds: 1800000
maxPoolSize: 65
ds_slave0:
url: jdbc:mysql://slave-aaa.test:3306/lly
username: root
password: root
connectionTimeoutMilliseconds: 30000
idleTimeoutMilliseconds: 60000
maxLifetimeMilliseconds: 1800000
maxPoolSize: 65
masterSlaveRule:
name: ds_ms
masterDataSourceName: ds_master
slaveDataSourceNames:
- ds_slave0
server.yaml
authentication:
users:
root:
password: root
props:
sql.show: true

Dockerfile
FROM apache/sharding-proxy:latest
COPY mysql-connector-java-5.1.47.jar /opt/sharding-proxy/lib/
I used docker-compose to launch, no problem
docker-compose.yaml
version: '3.1'
services:
mysql-master:
restart: always
image: sharding-proxy:v5
container_name: sharding-proxy
ports:
- 3312:3307
volumes:
- ./conf:/opt/sharding-proxy/conf
networks:
- sharding-proxy
networks:
sharding-proxy:
external:
name: mysqltest
config-xxx.yaml
schemaName: master_slave_db2
dataSources:
ds_master:
url: jdbc:mysql://mysql-master:3306/cloud-master
username: root
password: root
connectionTimeoutMilliseconds: 30000
idleTimeoutMilliseconds: 60000
maxLifetimeMilliseconds: 1800000
maxPoolSize: 65
ds_slave0:
url: jdbc:mysql://mysql-slave:3306/cloud-master
username: root
password: root
connectionTimeoutMilliseconds: 30000
idleTimeoutMilliseconds: 60000
maxLifetimeMilliseconds: 1800000
maxPoolSize: 65
masterSlaveRule:
name: ds_ms1
masterDataSourceName: ds_master
slaveDataSourceNames:
- ds_slave0
Thank you for your answers
Issue Analytics
- State:
- Created 3 years ago
- Comments:8 (3 by maintainers)
Top Results From Across the Web
Solving a "communications link failure" with JDBC and MySQL
Here are the solutions: · Change the remote machine mysql configuration at /etc/mysql/my.cnf : change bind-address = 127.0. · On the remote machine,...
Read more >Communications link failure com mysql jdbc exceptions jdbc4 ...
I'm working on getting my database to talk to my Java programs. Can someone give me a quick and dirty sample program using...
Read more >com.mysql.cj.jdbc.exceptions.CommunicationsException
The spring boot exception com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure happens when the java mysql database ...
Read more >com.mysql.cj.jdbc.exceptions.communicationsexception ...
Resolved: com.mysql.cj.jdbc.exceptions.communicationsexception communications link failure · The wrong IP address of the JDBC URL · Unrecognized ...
Read more >Failed to initialize pool: Communications link failure
This is very likely to create a memory leak."). I researched and read that the proper way to do it was to just...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

I have solved this problem, thank you, my k8s system deployment file is as follows for reference
Yaml file for sharding - proxy