Uploaded image for project: 'Sqoop (Retired)'
  1. Sqoop (Retired)
  2. SQOOP-1649

sqoop-metastore client does not pick up the HSQLDB connection string from sqoop-site.xml

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.4.5
    • None
    • metastore
    • 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
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            udai Udai Kiran Potluri
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: