Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-4640

Accumulo shell is expecting instance.volumes in client.conf instead of accumulo-site.xml

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.8.1
    • 1.7.4, 1.9.0
    • shell
    • None

    Description

      Starting with Accumulo 1.8.1 we are getting the exception as per below when the Accumulo shell is invoked:

      [accumulo@master ~]$ /usr/local/accumulo/bin/accumulo shell -u root -p **removed**
      2017-05-18 14:31:23,667 [zookeeper.ZooUtil] ERROR: unable obtain instance id at hdfs://master:9000/accumulo/instance_id
      2017-05-18 14:31:23,669 [start.Main] ERROR: Thread 'shell' died.
      java.lang.RuntimeException: Accumulo not initialized, there is no instance id at hdfs://master:9000/accumulo/instance_id
      at org.apache.accumulo.core.zookeeper.ZooUtil.getInstanceIDFromHdfs(ZooUtil.java:66)
      at org.apache.accumulo.core.zookeeper.ZooUtil.getInstanceIDFromHdfs(ZooUtil.java:51)
      at org.apache.accumulo.shell.Shell.getZooInstance(Shell.java:511)
      at org.apache.accumulo.shell.Shell.setInstance(Shell.java:473)
      at org.apache.accumulo.shell.Shell.config(Shell.java:322)
      at org.apache.accumulo.shell.Shell.execute(Shell.java:589)
      at org.apache.accumulo.start.Main$1.run(Main.java:120)
      at java.lang.Thread.run(Thread.java:745)

      The location used to look up the instance_id (hdfs://master:9000/accumulo/instance_id) does not appear to be consistent with this site configuration and I am not quite sure how it is being worked out.

      The Accumulo Overview web page shows that the instance exists:
      Instance ID: 4264f11a-704f-4c1f-880f-08f6154232b2
      Thu May 18 14:44:03 BST 2017

      The instance_id file is in Hadoop's HDFS:
      [accumulo@master ~]$ /usr/local/hadoop/bin/hdfs dfs -ls /user/accumulo/accumulo/instance_id
      Found 1 items
      rw-rr- 3 accumulo supergroup 0 2017-05-18 14:27 /user/accumulo/accumulo/instance_id/4264f11a-704f-4c1f-880f-08f6154232b2

      Again, within the same environment as selected above apart for using Accumulo 1.8.0, the shell can be invoked without issues.

      Here's a snippet from accumulo-site.xml:

      <property>
      <name>instance.volumes</name>
      <value>hdfs://master:9000/user/accumulo/accumulo</value>
      <description>comma separated list of URIs for volumes. example: hdfs://localhost:9000/accumulo</description>
      </property>

      For historical reasons our "root volume" is not / but /user/accumulo although the above stack trace suggests that / is being used as root volume.

      Attachments

        1. accumulo-site.xml
          6 kB
          Luigi Di Fraia
        2. accumulo-env.sh
          4 kB
          Luigi Di Fraia

        Issue Links

          Activity

            People

              ctubbsii Christopher Tubbs
              luigidifraia Luigi Di Fraia
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h
                  1h