2016-08-11 1 views
1

importが動作していますが、Hortonworks Sandbox HDP 2.4を使用しており、list-databasesツールを使用することはできません。私は応答Sqoopリストデータベースには--connection-managerが必要です

16/08/11 07:44:47 WARN sqoop.ConnFactory: Parameter --driver is set to an explicit driver however appropriate connection manager is not being set (via --connection-manager). Sqoop is going to fall back to org.apache.sqoop.manager.GenericJdbcManager. Please specify explicitly which connection manager should be used next time. 
16/08/11 07:44:47 INFO manager.SqlManager: Using default fetchSize of 1000 
16/08/11 07:44:47 ERROR manager.SqlManager: Generic SqlManager.listDatabases() not implemented. 
Could not retrieve database list from server 
16/08/11 07:44:47 ERROR tool.ListDatabasesTool: manager.listDatabases() returned null 

を取得

sqoop list-databases --connect jdbc:mysql://<ip>:<port>/ --driver com.mysql.jdbc.Driver --username=myusername -P 

この結果は、私が知らない--connection-managerパラメータを設定する必要があると述べています。

私は--driver引数を取る場合、私は例外を取得:

16/08/11 07:48:12 ERROR manager.CatalogQueryManager: Failed to list databases 
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
     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:411) 
     at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116) 
     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:344) 
     at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2336) 
     at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2370) 
     at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2154) 
     at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792) 
     at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49) 
     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:411) 
     at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381) 
     at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) 
     at java.sql.DriverManager.getConnection(DriverManager.java:571) 
     at java.sql.DriverManager.getConnection(DriverManager.java:215) 
     at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:885) 
     at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52) 
     at org.apache.sqoop.manager.CatalogQueryManager.listDatabases(CatalogQueryManager.java:57) 
     at org.apache.sqoop.tool.ListDatabasesTool.run(ListDatabasesTool.java:49) 
     at org.apache.sqoop.Sqoop.run(Sqoop.java:148) 
     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) 
     at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:184) 
     at org.apache.sqoop.Sqoop.runTool(Sqoop.java:226) 
     at org.apache.sqoop.Sqoop.runTool(Sqoop.java:235) 
     at org.apache.sqoop.Sqoop.main(Sqoop.java:244) 
Caused by: java.net.ConnectException: Connection refused 
     at java.net.PlainSocketImpl.socketConnect(Native Method) 
     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
     at java.net.Socket.connect(Socket.java:579) 
     at java.net.Socket.connect(Socket.java:528) 
     at java.net.Socket.<init>(Socket.java:425) 
     at java.net.Socket.<init>(Socket.java:241) 
     at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:258) 
     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:295) 
     ... 24 more 
16/08/11 07:48:12 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
     at org.apache.sqoop.manager.CatalogQueryManager.listDatabases(CatalogQueryManager.java:73) 
     at org.apache.sqoop.tool.ListDatabasesTool.run(ListDatabasesTool.java:49) 
     at org.apache.sqoop.Sqoop.run(Sqoop.java:148) 
     at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) 
     at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:184) 
     at org.apache.sqoop.Sqoop.runTool(Sqoop.java:226) 
     at org.apache.sqoop.Sqoop.runTool(Sqoop.java:235) 
     at org.apache.sqoop.Sqoop.main(Sqoop.java:244) 
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
     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:411) 
     at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116) 
     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:344) 
     at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2336) 
     at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2370) 
     at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2154) 
     at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792) 
     at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49) 
     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:411) 
     at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381) 
     at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) 
     at java.sql.DriverManager.getConnection(DriverManager.java:571) 
     at java.sql.DriverManager.getConnection(DriverManager.java:215) 
     at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:885) 
     at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52) 
     at org.apache.sqoop.manager.CatalogQueryManager.listDatabases(CatalogQueryManager.java:57) 
     ... 7 more 
Caused by: java.net.ConnectException: Connection refused 
     at java.net.PlainSocketImpl.socketConnect(Native Method) 
     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
     at java.net.Socket.connect(Socket.java:579) 
     at java.net.Socket.connect(Socket.java:528) 
     at java.net.Socket.<init>(Socket.java:425) 
     at java.net.Socket.<init>(Socket.java:241) 
     at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:258) 
     at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:295) 
     ... 24 more 

--connection-managerの値は何ですか?

答えて

1

このです:同じことがlist-tablesツール

$ sqoop list-tables 
    --connect jdbc:mysql://<ip>:<port>/mydb 
    --connection-manager org.apache.sqoop.manager.MySQLManager 
    --username=myusername -P 

のために行く

$ sqoop list-databases 
    --connect jdbc:mysql://<ip>:<port>/ 
    --connection-manager org.apache.sqoop.manager.MySQLManager 
    --username=myusername -P​ 

私は--driverフラグを削除しました。

+0

ありがとうございました! – Vignesh

0

問題は接続マネージャーではないと思います。

この例外は通常、接続しようとしているポートでリッスンしているサービスがない場合に発生します。いくつか起こっている可能性があります:

  1. あなたのサーバーを起動していません。

  2. サーバーが接続を受け入れるのを待っていません。

  3. 間違ったポート番号に接続しようとしています。私の仕事は何

関連する問題