accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mikewalch <...@git.apache.org>
Subject [GitHub] accumulo pull request #228: ACCUMULO-4596 Improvements to standalone cluster...
Date Wed, 08 Mar 2017 20:10:06 GMT
Github user mikewalch commented on a diff in the pull request:

    https://github.com/apache/accumulo/pull/228#discussion_r105010895
  
    --- Diff: minicluster/src/main/java/org/apache/accumulo/cluster/standalone/StandaloneClusterControl.java
---
    @@ -149,9 +141,8 @@ String getJarFromClass(Class<?> clz) {
     
       @Override
       public void adminStopAll() throws IOException {
    -    File confDir = getConfDir();
    -    String master = getHosts(new File(confDir, "masters")).get(0);
    -    String[] cmd = new String[] {SUDO_CMD, "-u", user, ACCUMULO_CONF_DIR + serverAccumuloConfDir,
accumuloPath, Admin.class.getName(), "stopAll"};
    +    String master = getHosts(MASTER_HOSTS_FILE).get(0);
    +    String[] cmd = new String[] {SUDO_CMD, "-u", user, accumuloPath, Admin.class.getName(),
"stopAll"};
    --- End diff --
    
    I see your point that a solution hasn't been presented yet.  I can add ACCUMULO_CONF_DIR
back to this PR until there is one.  However, I don't think it's hard at this point to add
a solution for separate client & server configuration directories that avoid use of ACCUMULO_CONF_DIR.
    
    After #223 is merged, the accumulo command will set up the java `CLASSPATH` using bash
code below:
    ```bash
    CLASSPATH="${conf}:${lib}/*:${CLASSPATH}"
    ```
    
    `${conf}` defaults to the `conf` directory in the Accumulo tarball installation but this
can be overridden by downstream packaging to anything (i.e `/etc/accumulo`). This directory
contains the server config. 
    
    We could also add some default client configuration directories after the server configuration
directory. Something like below:
      
    ```bash
    CLASSPATH="${conf}:${conf}/client:${HOME}/.accumulo:${lib}/*:${CLASSPATH}"
    ```
    Any accumulo command would try to pull configuration from $conf before falling back to
$conf/client, and then $HOME/.accumulo.  
    
    If you are packaging downstream, you can even replace this line with other locations:
    
    ```bash
    CLASSPATH="${conf}:/etc/accumulo-client:${HOME}/.accumulo:${lib}/*:${CLASSPATH}"
    ```
    Does this work for you?



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message