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

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

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.4.5
    • Fix Version/s: None
    • Component/s: metastore
    • Labels:
      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

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

              Dates

              • Created:
                Updated: