accumulo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kesten Broughton <kbrough...@21ct.com>
Subject RE: accumulo startup issue: Accumulo not initialized, there is no instance id at /accumulo/instance_id
Date Fri, 17 Jan 2014 14:35:22 GMT

"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+lists@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.OTT@leidos.com<mailto:CHARLES.H.OTT@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
Mime
View raw message