[
https://issues.apache.org/jira/browse/HIVE-8588?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eugene Koifman updated HIVE-8588:
---------------------------------
Priority: Critical (was: Major)
> sqoop REST endpoint fails to send appropriate JDBC driver to the cluster
> ------------------------------------------------------------------------
>
> Key: HIVE-8588
> URL: https://issues.apache.org/jira/browse/HIVE-8588
> Project: Hive
> Issue Type: Bug
> Components: WebHCat
> Affects Versions: 0.14.0
> Reporter: Eugene Koifman
> Assignee: Eugene Koifman
> Priority: Critical
> Attachments: HIVE-8588.1.patch
>
>
> This is originally discovered by [~deepesh]
> When running a Sqoop integration test from WebHCat
> {noformat}
> curl --show-error -d command="export -libjars
> hdfs:///tmp/mysql-connector-java.jar --connect
> jdbc:mysql://deepesh-c6-1.cs1cloud.internal/sqooptest --username sqoop
> --password passwd --export-dir /tmp/templeton_test_data/sqoop --table person"
> -d statusdir=sqoop.output -X POST
> "http://deepesh-c6-1.cs1cloud.internal:50111/templeton/v1/sqoop?user.name=hrt_qa"
> {noformat}
> the job is failing with the following error:
> {noformat}
> $ hadoop fs -cat /user/hrt_qa/sqoop.output/stderr
> 14/10/15 23:52:53 INFO sqoop.Sqoop: Running Sqoop version: 1.4.5.2.2.0.0-897
> 14/10/15 23:52:53 WARN tool.BaseSqoopTool: Setting your password on the
> command-line is insecure. Consider using -P instead.
> 14/10/15 23:52:54 INFO manager.MySQLManager: Preparing to use a MySQL
> streaming resultset.
> 14/10/15 23:52:54 INFO tool.CodeGenTool: Beginning code generation
> 14/10/15 23:52:54 ERROR sqoop.Sqoop: Got exception running Sqoop:
> java.lang.RuntimeException: Could not load db driver class:
> com.mysql.jdbc.Driver
> java.lang.RuntimeException: Could not load db driver class:
> com.mysql.jdbc.Driver
> at
> org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:848)
> at
> org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52)
> at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:736)
> at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:759)
> at
> org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:269)
> at
> org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:240)
> at
> org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:226)
> at
> org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:295)
> at
> org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1773)
> at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1578)
> at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:96)
> at org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:64)
> at org.apache.sqoop.tool.ExportTool.run(ExportTool.java:100)
> at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
> at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
> at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
> at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
> {noformat}
> Note that the Sqoop tar bundle does not contain the JDBC connector jar. I
> think the problem here maybe that the mysql connector jar added to libjars
> isn't available to the Sqoop tool which first connects to the database
> through JDBC driver to collect some table information before running the MR
> job. libjars will only add the connector jar for the MR job and not the local
> one.
> NO PRECOMMIT TESTS
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)