[ 
https://issues.apache.org/jira/browse/ACCUMULO-4640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16017124#comment-16017124
 ] 

Christopher Tubbs commented on ACCUMULO-4640:
---------------------------------------------

[~luigidifraia], the shell is intended to be provided an instance name and 
zookeeper connection list, in order to connect to Accumulo, just like any other 
client. These options can be provided on the command-line, or in a client 
configuration file. However, for backwards compatibility, we intended to 
support operating without command-line arguments by parsing the server 
configuration file. What you describe sounds like it cannot do so in your case, 
because you have the accumulo-site.xml file protected with file system 
permissions (which is the right thing to do), or because we made a mistake and 
broke something.

You shouldn't have to set instance.volumes in your client configuration file. 
You should only have to set instance.name and instance.zookeepers. This is an 
area we need to work on in future versions.

> [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
>             Fix For: 1.8.2, 2.0.0
>
>         Attachments: accumulo-env.sh, accumulo-site.xml
>
>
> 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)

Reply via email to