Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.4.5
-
None
-
None
Description
On a sqoop metastore client that would potentially connect to a sqoop-metastore server which is running HSQLDB, one would modify the sqoop-site.xml like so:
<!-- By default, the Sqoop metastore will auto-connect to a local embedded database stored in ~/.sqoop/. To disable metastore auto-connect, uncomment this next property. --> <property> <name>sqoop.metastore.client.enable.autoconnect</name> <value>false</value> <description>If true, Sqoop will connect to a local metastore for job management when no other metastore arguments are provided. </description> </property> <!-- The auto-connect metastore is stored in ~/.sqoop/. Uncomment these next arguments to control the auto-connect process with greater precision. --> <property> <name>sqoop.metastore.client.autoconnect.url</name> <value>jdbc:hsqldb:hsql://<hsqldb-server-host:16000/sqoop</value> <!-- <value>jdbc:hsqldb:file:/tmp/sqoop-meta/meta.db;shutdown=true</value> --> <description>The connect string to use when connecting to a job-management metastore. If unspecified, uses ~/.sqoop/. You can specify a different path here. </description> </property> <property> <name>sqoop.metastore.client.autoconnect.username</name> <value>SA</value> <description>The username to bind to the metastore. </description> </property> <property> <name>sqoop.metastore.client.autoconnect.password</name> <value></value> <description>The password to bind to the metastore. </description> </property>
Problem:
=========
Even though we mention the connection string as above, it is not picked up.
Workaround:
===========
The workaround for this issue is to specifically mention the connection URL when creating a Sqoop job.
sqoop job --create testjob --meta-connect "jdbc:hsqldb:hsql://<Metastore-server-host>:16000/sqoop" -- list-tables --connect jdbc:mysql://<mysql-server>/metastore --username root --password pwd --verbose