我一直在尝试安装Accumulo并试用几天,但在开始之前就已经存货了。我最终使用了安装了Hadoop和Zookeeper的HortonWorks Sandbox。 我按照Accmulo设置页面上的说明进行操作,并按如下方式更改配置:
[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.
它没有进一步的进展不给我一个shell尝试。关于如何解决这个或问题是什么的任何建议?
答案 0 :(得分:0)
您可能必须指定实例名称和ZooKeeper主机信息。使用--help
启动shell以查找正确的命令行选项。
注意:您可以通过在命令行上使用--debug
启动它来调试Accumulo shell。
答案 1 :(得分:0)
在尝试启动shell之前,您是否启动了Accumulo?
/usr/hdp/2.2.0.0-2041/accumulo/bin/start-all.sh
然后
/usr/bin/accumulo shell --password reza