0

We are installing an Hadoop cluster on AWS Ec2 instance(5 nodes) for POC purpose.

Software Stack - Hadoop, HDFS, Oozie and MongoDB.

We are able to successfully install Hadoop, HDFS and MongoDB. But we are not able to install Oozie with Mysql server. We are getting the following error

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
        at com.mysql.jdbc.Util.getInstance(Util.java:387)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:917)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:896)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:885)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2330)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083)
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806)
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328)
        at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
        at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
        at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556)
        at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545)
        ... 51 more
Caused by: java.lang.NullPointerException
        at com.mysql.jdbc.ConnectionImpl.getServerCharset(ConnectionImpl.java:2997)
        at com.mysql.jdbc.MysqlIO.sendConnectionAttributes(MysqlIO.java:1936)
        at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1865)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1228)
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253)
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284)

Cloudera Distribution Version - 5.3.1
Hadoop Version - 2.5.0 Oozie Version - 4.0.0 Mysql Version - mysql Ver 8.0.17 for Linux on x86_64(MySQL Community Server GPL)

We have done the following after referring many google links

  1. Create oozie user, grant priveleges etc
  2. Adding MySql connector Jar to oozie libext folder.(mysql-connector-java-5.1.48-bin.jar)
  3. Oozie DB and schema generation is done. But oozie service is not starting. We get Connection refused Error.

Please do let me know if more information needed. Appreciate any guidance.

Shash
  • 452
  • 8
  • 25

1 Answers1

0

This issue was resolved. The problem was we were creating the oozie database with another user and hence it was not able to connect. We used the same user to create the oozie database and granted that user required permissions. It worked fine.

CREATE USER 'hadoopuser'@'%' IDENTIFIED BY '<Password>';
GRANT ALL PRIVILEGES ON *.* TO 'hadoopuser'@'%';
FLUSH PRIVILEGES;

We referred the below link for the mysql installation - https://www.linode.com/docs/databases/mysql/how-to-install-mysql-on-centos-7/

Shash
  • 452
  • 8
  • 25