3

I've been trying to install Accumulo and try it for a few days but it gets stocked before even starting. I ended up using HortonWorks Sandbox that comes with Hadoop and Zookeeper installed. I followed the instruciton on Accmulo setup page and changes the configuration as below:

[root@sandbox ~]# vi /etc/accumulo/conf/accumulo-env.sh
if [ -z "$ACCUMULO_HOME" ]
then
test -z "$ACCUMULO_HOME"     && export ACCUMULO_HOME=/usr/hdp/2.2.0.0-2041/accumulo
fi

if [ -z "$HADOOP_HOME" ]
then
   test -z "$HADOOP_PREFIX"      && export HADOOP_PREFIX=/usr/hdp/current/hadoop-client
else
   HADOOP_PREFIX="$HADOOP_HOME"
   unset HADOOP_HOME
fi

# hadoop-1.2:
# test -z "$HADOOP_CONF_DIR"       && export HADOOP_CONF_DIR="$HADOOP_PREFIX/conf"
# hadoop-2.0:
test -z "$HADOOP_CONF_DIR"     && export HADOOP_CONF_DIR="$HADOOP_PREFIX/etc/hadoop/conf"

test -z "$JAVA_HOME"             && export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64
test -z "$ZOOKEEPER_HOME"        && export ZOOKEEPER_HOME=/usr/hdp/current/zookeeper-client
test -z "$ACCUMULO_LOG_DIR"      && export ACCUMULO_LOG_DIR=$ACCUMULO_HOME/logs
if [ -f ${ACCUMULO_CONF_DIR}/accumulo.policy ]
then
   POLICY="-Djava.security.manager -Djava.security.policy=${ACCUMULO_CONF_DIR}/accumulo.policy"
fi

Using this configuration, I was able to start Accumulo successfully:

[root@sandbox ~]# /usr/hdp/2.2.0.0-2041/accumulo/bin/start-all.sh
Starting monitor on localhost
WARN : Max open files on localhost is 1024, recommend 32768
Starting tablet servers .... done
Starting tablet server on localhost
WARN : Max open files on localhost is 1024, recommend 32768
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/root/reza/accumulo-1.6.1/lib/slf4j-log4j12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/current/hadoop-client/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/current/hadoop-client/client/slf4j-log4j12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/current/hadoop-client/client/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
2015-02-09 05:30:21,742 [fs.VolumeManagerImpl] WARN : dfs.datanode.synconclose set to false in hdfs-site.xml: data loss is possible on system reset or power loss
2015-02-09 05:30:21,760 [server.Accumulo] INFO : Attempting to talk to zookeeper
2015-02-09 05:30:21,920 [server.Accumulo] INFO : Zookeeper connected and initialized, attemping to talk to HDFS
2015-02-09 05:30:22,195 [server.Accumulo] INFO : Connected to HDFS
2015-02-09 05:30:22,207 [fs.VolumeManagerImpl] WARN : dfs.datanode.synconclose set to false in hdfs-site.xml: data loss is possible on system reset or power loss
Starting master on localhost
WARN : Max open files on localhost is 1024, recommend 32768
Starting garbage collector on localhost
WARN : Max open files on localhost is 1024, recommend 32768
Starting tracer on localhost
WARN : Max open files on localhost is 1024, recommend 32768 

I was also able to initialize Accumulo successfully:

[root@sandbox ~]#  /usr/hdp/2.2.0.0-2041/accumulo/bin/accumulo init
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/root/reza/accumulo-1.6.1/lib/slf4j-log4j12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/current/hadoop-client/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/current/hadoop-client/client/slf4j-log4j12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/current/hadoop-client/client/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
2015-02-09 04:40:56,225 [fs.VolumeManagerImpl] WARN : dfs.datanode.synconclose set to false in hdfs-site.xml: data loss is possible on system reset or power loss
2015-02-09 04:40:56,229 [init.Initialize] INFO : Hadoop Filesystem is hdfs://sandbox.hortonworks.com:8020
2015-02-09 04:40:56,232 [init.Initialize] INFO : Accumulo data dirs are [hdfs://sandbox.hortonworks.com:8020/accumulo]
2015-02-09 04:40:56,232 [init.Initialize] INFO : Zookeeper server is localhost:2181
2015-02-09 04:40:56,232 [init.Initialize] INFO : Checking if Zookeeper is available. If this hangs, then you need to make sure zookeeper is running
Warning!!! Your instance secret is still set to the default, this is not secure. We highly recommend you change it.
    You can change the instance secret in accumulo by using:
       bin/accumulo org.apache.accumulo.server.util.ChangeSecret oldPassword newPassword.
    You will also need to edit your secret in your configuration file by adding the property instance.secret to your conf/accumulo-site.xml. Without this accumulo will not operate correctly
    Instance name : reza
    Instance name "reza" exists. Delete existing entry from zookeeper? [Y/N] : N
    Instance name : reza2
    Enter initial password for root (this may not be applicable for your security setup): ****
    Confirm initial password for root: ****
    2015-02-09 04:42:32,497 [Configuration.deprecation] INFO : dfs.replication.min is deprecated. Instead, use dfs.namenode.replication.min
    2015-02-09 04:42:32,509 [fs.VolumeManagerImpl] WARN : dfs.datanode.synconclose set to false in hdfs-site.xml: data loss is possible on system reset or power loss
    2015-02-09 04:42:33,208 [Configuration.deprecation] INFO : dfs.block.size is deprecated. Instead, use dfs.blocksize
    2015-02-09 04:42:33,964 [conf.AccumuloConfiguration] INFO : Loaded class : org.apache.accumulo.server.security.handler.ZKAuthorizor
    2015-02-09 04:42:33,969 [conf.AccumuloConfiguration] INFO : Loaded class : org.apache.accumulo.server.security.handler.ZKAuthenticator
    2015-02-09 04:42:33,973 [conf.AccumuloConfiguration] INFO : Loaded class : org.apache.accumulo.server.security.handler.ZKPermHandler

However, when I try to start an Accumulo shell to try it, it gets stucked without throwing any error:

[root@sandbox ~]# /usr/bin/accumulo shell --password reza
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/root/reza/accumulo-1.6.1/lib/slf4j-log4j12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/current/hadoop-client/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/current/hadoop-client/client/slf4j-log4j12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/hdp/current/hadoop-client/client/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
2015-02-09 05:21:15,397 [impl.ServerClient] WARN : There are no tablet servers: check that zookeeper and accumulo are running. 

It does not progress any further does not give me a shell to try. Any advise on how to fix this or what the problem is?

reza
  • 1,188
  • 3
  • 17
  • 32
  • Did you try connecting right away after initializing, or did you restart/suspend the sandbox and then try? I've had problems in the past with VM's when pause/suspending them. It's odd that you were able to init, as that would imply it's up. Can you get to the monitoring interface? http://accumulomaster:50095/status – FuriousGeorge Feb 10 '15 at 12:02
  • You also might want to make sure that ZK is up and running. Not familiar with the sandbox, but on my system you can connect to zk like such: `zookeeper-client -server zk01 ls /accumulo` – FuriousGeorge Feb 10 '15 at 12:17
  • I tried connecting to Zookeeper and it was OK. In fact, Accumulo can connect to it during "start-all". I also tried connecting right after initialization. – reza Feb 18 '15 at 18:18
  • Did anyone find a solution? – user422930 Feb 27 '16 at 01:36

2 Answers2

0

You probably have to specify the instance name and ZooKeeper host information. Launch the shell with --help to find the correct command-line options.

Note: You can debug the Accumulo shell by launching it with --debug on the command line.

Christopher
  • 2,427
  • 19
  • 24
  • An example of this would be: `accumulo shell -u root -zh zoo1:2181,zoo2:2181,zoo3:2181 -zi reza2 -p reza` – FuriousGeorge Feb 10 '15 at 12:04
  • thanks but I've already set Zookeeper in the accumul-env.sh. In fact, during "accumulo init" it finds Zookeeper and is able to connect to it. I even tried "shell -u root -zh localhost:2181 -zi reza --password reza" but ended up getting stuck at the same place – reza Feb 10 '15 at 20:14
0

Did you start Accumulo before trying to launch the shell?

/usr/hdp/2.2.0.0-2041/accumulo/bin/start-all.sh

And then

/usr/bin/accumulo shell --password reza
elserj
  • 1,236
  • 6
  • 6
  • thanks but It is clear from my orignial post that I did both of these steps. – reza Feb 10 '15 at 17:56
  • 1
    Did you start-all and then initialize Accumulo? The ordering of the steps you took is unclear. – elserj Feb 11 '15 at 18:50
  • Did you verify, via the monitor, like furiousgeorge said, that Accumulo appears to be up? (http://monitor_host:50095 where monitor_host is defined in /etc/accumulo/conf/monitors). You should see details on the master, as well as tabletservers. The tabletserver might have failed to start for some reason (common problem is bad memory sizing configuration and/or lack of native maps being built -- run /usr/hdp/2.2.0.0-2041/accumulo/bin/build-native-library.sh to do that) – elserj Feb 19 '15 at 18:33