0

oracleデータベースに接続してレコード数を確認しようとしています。Sqoop oracle接続の問題

Scenario-1: 
    [[email protected] ingestion]$ sqoop eval --connect jdbc:oracle:thin:@//hostname_1:PORT_1/Service_1 --username USER --password PASSWORD --query 'select count(*) from SCHEMA_1.TABLE_1' 
     class path is /usr/hdp/current/hive-client/lib/libthrift-0.9.3.jar: 
     Warning: /usr/hdp/2.5.3.0-37/accumulo does not exist! Accumulo imports will fail. 
     Please set $ACCUMULO_HOME to the root of your Accumulo installation. 
     17/05/19 14:50:23 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6.2.5.3.0-37 
     17/05/19 14:50:25 INFO hdfs.PeerCache: SocketCache disabled. 
     17/05/19 14:50:26 INFO manager.SqlManager: Using default fetchSize of 1000 
     17/05/19 14:50:26 WARN tool.EvalSqlTool: SQL exception executing statement: java.sql.SQLException: Io exception: Oracle Error ORA-12650 
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) 
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) 
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255) 
      at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387) 
      at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:441) 
      at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165) 
      at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35) 
      at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801) 
      at java.sql.DriverManager.getConnection(DriverManager.java:571) 
      at java.sql.DriverManager.getConnection(DriverManager.java:215) 
      at org.apache.sqoop.manager.OracleManager.makeConnection(OracleManager.java:327) 
      at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52) 
      at org.apache.sqoop.tool.EvalSqlTool.run(EvalSqlTool.java:64) 
      at org.apache.sqoop.Sqoop.run(Sqoop.java:147) 
      at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) 
      at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183) 
      at org.apache.sqoop.Sqoop.runTool(Sqoop.java:225) 
      at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234) 
      at org.apache.sqoop.Sqoop.main(Sqoop.java:243) 

Scenario-2: 
[[email protected] ingestion]$ sqoop eval --connect jdbc:oracle:thin:@//hostname_2:PORT_2/Service_2 --username USER --password PASSWORD --query 'select count(*) from SCHEMA_2.TABLE_2' 
     class path is /usr/hdp/current/hive-client/lib/libthrift-0.9.3.jar: 
     Warning: /usr/hdp/2.5.3.0-37/accumulo does not exist! Accumulo imports will fail. 
     Please set $ACCUMULO_HOME to the root of your Accumulo installation. 
     17/05/19 15:02:21 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6.2.5.3.0-37 
     17/05/19 15:02:23 INFO hdfs.PeerCache: SocketCache disabled. 
     17/05/19 15:02:23 INFO manager.SqlManager: Using default fetchSize of 1000 
     17/05/19 15:02:24 INFO manager.OracleManager: Time zone has been set to GMT 
     ------------------------ 
     | COUNT(*)    | 
     ------------------------ 
     | 43     | 
     ------------------------ 

最初のものは私にエラーを与えていますが、2番目のものは私に予期した結果を与えています。

誰でも手助けできますか? jar used ojdbc14-10.2.0.4.0.jar

+0

ojdbc14-10.x.x.x.xからojdbc14-11.x.x.x.xにアップデートしてみてください – vmorusu

答えて

0

かなりの時間を費やして問題が見つかりました。 Sqoopが動作しているエッジノードは、閉鎖されたポート(OSのパッチ適用は週の前に行われ、Linuxの管理者はポートを閉じて開いていない)のためにtelnetできません。 sqoopが実行されているエッジノードでポートが開いたら、私はsqoopの評価を実行することができました