Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]
Created 09-02-2016 05:28 AM
Hi All,
I am having an issue with sqoop against an Oracle database. HDP2.4. Oracle 11 XE in AWS RDS.
[root@ip-172-31-29-111 lib]# sqoop list-tables --connect jdbc:oracle:thin:@//dbip:dbport/dbname --username myusername -password mypassword
Warning: /usr/hdp/2.4.2.0-258/accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
16/09/02 15:23:54 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6.2.4.2.0-258
16/09/02 15:23:54 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
16/09/02 15:23:54 INFO oracle.OraOopManagerFactory: Data Connector for Oracle and Hadoop is disabled.
16/09/02 15:23:54 INFO manager.SqlManager: Using default fetchSize of 1000
16/09/02 15:23:54 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: oracle.jdbc.OracleDriver
java.lang.RuntimeException: Could not load db driver class: oracle.jdbc.OracleDriver
at org.apache.sqoop.manager.OracleManager.makeConnection(OracleManager.java:287)
at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52)
at org.apache.sqoop.manager.OracleManager.listTables(OracleManager.java:745)
at org.apache.sqoop.tool.ListTablesTool.run(ListTablesTool.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)
The equivalent against a PostgreSQL works fine.
The below is the list of jar files under sqoop library directory.
[root@ip-172-31-29-111 lib]# ls /usr/hdp/current/sqoop-client/lib/ ant-contrib-1.0b3.jar commons-jexl-2.1.1.jar jackson-mapper-asl-1.9.13.jar opencsv-2.3.jar parquet-generator-1.4.1.jar ant-eclipse-1.0-jvm1.2.jar commons-logging-1.1.1.jar kite-data-core-1.0.0.jar paranamer-2.3.jar parquet-hadoop-1.4.1.jar avro-1.7.5.jar hsqldb-1.8.0.10.jar kite-data-hive-1.0.0.jar parquet-avro-1.4.1.jar parquet-jackson-1.4.1.jar avro-mapred-1.7.5-hadoop2.jar jackson-annotations-2.3.0.jar kite-data-mapreduce-1.0.0.jar parquet-column-1.4.1.jar postgresql-9.2-1002.jdbc4.jar commons-codec-1.4.jar jackson-core-2.3.1.jar kite-hadoop-compatibility-1.0.0.jar parquet-common-1.4.1.jar slf4j-api-1.6.1.jar commons-compress-1.4.1.jar jackson-core-asl-1.9.13.jar mysql-connector-java.jar parquet-encoding-1.4.1.jar snappy-java-1.0.5.jar commons-io-1.4.jar jackson-databind-2.3.1.jar ojdbc6.jar
Earlier I have downloaded and copied the oracle jdbc connector jar file from the below Oracle page.
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html
Please advise the solution to avoid the error.
Thanks,
Created 09-06-2016 03:57 AM
-rw-r--r--1 root root 2123 Sep214:31 ojdbc6.jar
ojdbc.jar is much more than 2123 bytes. Most likely your download of the ojdbc.jar was not good
Created 09-06-2016 06:36 AM
Thanks Constantin,
This issue was resolved as updated.
FYI, the SQOOP_HOME variable has always been empty in any user. I think somehow sqoop, as a part of a default HDP installation, is configured to locate lib files under /usr/hdp/current/sqoop-client/lib/ regardless of the variable value.
Created 09-06-2016 03:57 AM
-rw-r--r--1 root root 2123 Sep214:31 ojdbc6.jar
ojdbc.jar is much more than 2123 bytes. Most likely your download of the ojdbc.jar was not good
Created 09-06-2016 06:08 AM
Thank you vranganathan. This issue is resolved.
As you pointed out there was a problem with the ojdbc6.jar file itself.
downloading directly via the web url of the file neither download the complete file, nor spit error. I guess this is because of the web authentication oracle requires.
After manually downloading the file after authentication and transferring the file into the sqoop host did the trick.
Thanks again.