You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Luigi Di Fraia (JIRA)" <ji...@apache.org> on 2017/05/18 13:58:04 UTC

[jira] [Created] (ACCUMULO-4640) [zookeeper.ZooUtil] ERROR: unable obtain instance id at hdfs://master:9000/accumulo/instance_id

Luigi Di Fraia created ACCUMULO-4640:
----------------------------------------

             Summary: [zookeeper.ZooUtil] ERROR: unable obtain instance id at hdfs://master:9000/accumulo/instance_id
                 Key: ACCUMULO-4640
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4640
             Project: Accumulo
          Issue Type: Bug
          Components: shell
    Affects Versions: 1.8.1
         Environment: [accumulo@master ~]$ cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[accumulo@master ~]$ uname -a
Linux master 3.10.0-514.10.2.el7.x86_64 #1 SMP Fri Mar 3 00:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[accumulo@master ~]$ java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)

Hadoop: 2.8.0
ZooKeeper: 3.4.10
Accumulo: 1.8.1
            Reporter: Luigi Di Fraia


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-r--r--   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.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)