3

我一直在尝试安装 Accumulo 并尝试了几天,但它甚至在开始之前就已备货。我最终使用了安装了 Hadoop 和 Zookeeper 的 HortonWorks Sandbox。我按照 Accumulo 设置页面上的说明更改了配置,如下所示:

[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

使用此配置,我能够成功启动 Accumulo:

[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 

我还能够成功初始化 Accumulo:

[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

但是,当我尝试启动 Accumulo shell 进行尝试时,它会卡住而不会引发任何错误:

[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. 

它没有进一步的进展并没有给我一个尝试的外壳。关于如何解决这个问题或问题是什么的任何建议?

4

2 回答 2

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.

于 2015-02-10T05:15:10.083 回答
0

您是否在尝试启动 shell 之前启动了 Accumulo?

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

接着

/usr/bin/accumulo shell --password reza
于 2015-02-10T16:26:44.400 回答