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/06/01 07:47:04 UTC

[jira] [Comment Edited] (ACCUMULO-4640) Accumulo shell is expecting instance.volumes in client.conf instead of accumulo-site.xml

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

Luigi Di Fraia edited comment on ACCUMULO-4640 at 6/1/17 7:46 AM:
------------------------------------------------------------------

Thanks [~milleruntime] and [~ctubbsii] for your help with this. Indeed the feedback from Michael makes a lot of sense and explains very well the rationale behind the change of behavior discussed here.

If anything, I'd suggest that in the documentation for Accumulo some emphasis is given to the use of {{instance.name}} within _client.conf_.
The file _client.conf_ is referenced in two places within the documentation. On the first occurrence emphasis seems to be given mainly to the SASL transport. On the second occurrence it goes on with:

bq. These files can currently contain information about ZooKeeper servers, RPC properties (such as SSL or SASL connectors), distributed tracing properties.

Which, perhaps, might be changed to read:

bq. These files can currently contain information about ZooKeeper servers, the Accumulo instance name, RPC properties (such as SSL or SASL connectors), distributed tracing properties.

Again, thanks to you both for your assistance with this.


was (Author: luigidifraia):
Thanks [~milleruntime] and [~ctubbsii] for your help with this. Indeed the feedback from Michael makes a lot of sense and explains very well the rationale behind the change of behavior discussed here.

If anything, I'd suggest that in the documentation for Accumulo some emphasis is given to the use of {{instance.name}} within _client.conf_.
The file _client.conf_ is referenced in two places within the documentation. On the first occurrence emphasis seems to be given mainly to the SASL transport. On the second occurrence it goes on with:

bq These files can currently contain information about ZooKeeper servers, RPC properties (such as SSL or SASL connectors), distributed tracing properties.

Which, perhaps, might be changed to read:

bq These files can currently contain information about ZooKeeper servers, the Accumulo instance name, RPC properties (such as SSL or SASL connectors), distributed tracing properties.

Again, thanks to you both for your assistance with this.

> Accumulo shell is expecting instance.volumes in client.conf instead of accumulo-site.xml
> ----------------------------------------------------------------------------------------
>
>                 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
>         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)