"You should avoid running Accumulo as the hdfs super user, both as a matter of 
proper separation of concerns and as a practical need if you are going to run 
Accumulo in a production environment with multiple HDFS users."

Is there a guide on how to do this?  If i try to start accumulo shell as 
other-than-hdfs I always get errors.
We would like to run as tenant users.

kesten


Kesten Broughton | Software Developer | 21CT

________________________________________
From: Sean Busbey [busbey+li...@cloudera.com]
Sent: Thursday, January 16, 2014 2:00 PM
To: Accumulo User List
Subject: Re: accumulo startup issue: Accumulo not initialized, there is no 
instance id at /accumulo/instance_id

Thanks for the overview Charles!  Any chance I can convince you to polish this 
up a little and add it to our user documentation as a quickstart guide?

(Notes inline below)

On Thu, Jan 16, 2014 at 1:50 PM, Ott, Charles H. 
<charles.h....@leidos.com<mailto:charles.h....@leidos.com>> wrote:
Disclaimer,

Not advocating this is the best approach, just what I’m currently doing, put 
this together pretty quick, but it should be mostly complete for settting up 
accumulo on cdh hdfs/zk

 <snip>

echo "Increasing Swapiness Factor to limit use of swap space."
echo "# swappiness for accumulo" >> /etc/sysctl.conf
echo "vm.swappiness = 10" >> /etc/sysctl.conf


You should set vm.swappiness to 0. Both Hadoop and Accumulo recommend this.



<snip>
#accumulo-site.xml
<property>
    <name>general.classpaths</name>
    <value>
      $ACCUMULO_HOME/server/target/classes/,
      $ACCUMULO_HOME/lib/accumulo-server.jar,
      $ACCUMULO_HOME/core/target/classes/,
      $ACCUMULO_HOME/lib/accumulo-core.jar,
      $ACCUMULO_HOME/start/target/classes/,
      $ACCUMULO_HOME/lib/accumulo-start.jar,
      $ACCUMULO_HOME/fate/target/classes/,
      $ACCUMULO_HOME/lib/accumulo-fate.jar,
      $ACCUMULO_HOME/proxy/target/classes/,
      $ACCUMULO_HOME/lib/accumulo-proxy.jar,
      $ACCUMULO_HOME/lib/[^.].*.jar,
      $ZOOKEEPER_HOME/zookeeper[^.].*.jar,
      $HADOOP_CONF_DIR,
      $HADOOP_PREFIX/[^.].*.jar,
      $HADOOP_PREFIX/lib/[^.].*.jar,
      $HADOOP_HDFS_HOME/.*.jar,
      $HADOOP_HDFS_HOME/lib/.*.jar,
      $HADOOP_MAPREDUCE_HOME/.*.jar,
      $HADOOP_MAPREDUCE_HOME/lib/.*.jar
    </value>
    <description>Classpaths that accumulo checks for updates and class files.
      When using the Security Manager, please remove the ".../target/classes/" 
values.
    </description>
  </property>


This will give you some warnings about multiple slf4j binaries on CDH4.4.0+ . 
You can fix it by making sure you only match jars with a version number.

See an example[1].


then of course, always run your Accumulo binaries/scripts using the HDFS 
account.  I’m sure I’m missing a few steps here and there…


You should avoid running Accumulo as the hdfs super user, both as a matter of 
proper separation of concerns and as a practical need if you are going to run 
Accumulo in a production environment with multiple HDFS users.

-Sean

[1]: https://gist.github.com/busbey/8285352#file-accumulo-site-cdh4-xml-L99

Reply via email to