Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.8.1
-
None
-
[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[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
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
Attachments
Issue Links
- is related to
-
ACCUMULO-4645 Improve client configuration documentation
- Resolved
- relates to
-
ACCUMULO-4600 Shell does not fall back to accumulo-site.xml when on classpath
- Resolved
-
ACCUMULO-4505 Shell still reads accumulo-site.xml when using Zookeeper CLI options
- Resolved