简体   繁体   中英

MySql error “Cannot create PoolableConnectionFactory (Could not create connection to database server.)” while connecting with azkaban?

I am trying to connect Azkaban ( A job scheduler for hadoop) with my local mysql. The configiration file of azkaban looks like:

database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban

#Changed by Prakhar for azkaban , Azkaban
mysql.user=root
mysql.password= [ Password of mysql ]

My MySql has a database named "azkaban" and i am able to login mysql using command:

./mysql -u root -p

Also mysql is working on port 3306, which i have verified. Still i am unable to connect to mysql. The logs of azkaban looks like this:

2020/04/11 22:38:05.584 +0530 ERROR [MySQLDataSource] [Azkaban] Failed to find write-enabled DB connection. Wait 15 seconds and retry. No.Attempt = 1
java.sql.SQLException: Cannot create PoolableConnectionFactory (Could not create connection to database server.)
    at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2294)
    at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2039)
    at azkaban.db.MySQLDataSource.getConnection(MySQLDataSource.java:76)
    at org.apache.commons.dbutils.AbstractQueryRunner.prepareConnection(AbstractQueryRunner.java:175)
    at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:286)
    at azkaban.db.DatabaseOperator.query(DatabaseOperator.java:68)
    at azkaban.executor.ExecutorDao.fetchActiveExecutors(ExecutorDao.java:53)
    at azkaban.executor.JdbcExecutorLoader.fetchActiveExecutors(JdbcExecutorLoader.java:266)
    at azkaban.executor.ExecutorManager.setupExecutors(ExecutorManager.java:223)
    at azkaban.executor.ExecutorManager.<init>(ExecutorManager.java:131)
    at azkaban.executor.ExecutorManager$$FastClassByGuice$$e1c1dfed.newInstance(<generated>)
    at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:111)
    at 

Few pointers that might help you to resolve the issue.

  1. Please check the version of MySQL installed vs the MySQL client mentioned in the Gradle file used to build Azkaban
  2. Preferably use MySQL 5.x version
  3. Make sure to install the compatible client version
  4. Also, create the Mysql tables in the database before starting the web executor

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM