Oozie 在 AWS EC2 实例中不以 Mysql 开头

Oozie not starting with Mysql in AWS EC2 instance

我们正在 AWS Ec2 实例(5 个节点)上安装一个 Hadoop 集群用于 POC 目的。

软件堆栈 - Hadoop、HDFS、Oozie 和 MongoDB。

我们能够成功安装 Hadoop、HDFS 和 MongoDB。但是我们无法使用 Mysql 服务器安装 Oozie。我们收到以下错误

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 发行版本 - 5.3.1
Hadoop 版本 - 2.5.0 Oozie 版本 - 4.0.0 Mysql 版本 - 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.

如果需要更多信息,请告诉我。感谢任何指导。

此问题已解决。问题是我们正在与另一个用户创建 oozie 数据库,因此它无法连接。我们使用相同的用户创建 oozie 数据库并授予该用户所需的权限。效果很好。

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/