2013-07-08 163 views
1

我使用MiniAccumuloCluster(MAC)1.5罐子并试图哪怕只是实例化一个MAC对象,但似乎无法连接到它。我得到一吨的错误类似于以下内容:Accumulo - MiniAccumuloCluster连接被拒绝

13/07/08 14:31:29 INFO zookeeper.ClientCnxn: Opening socket connection to server localhost/127.0.0.1:14060 
13/07/08 14:31:29 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect 
java.net.ConnectException: Connection refused 
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:692) 
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1143) 

而且具有以下错误结束:

Exception in thread "main" java.lang.RuntimeException: Failed to connect to zookeeper (localhost:14060) within 2x zookeeper timeout period 30000 
at org.apache.accumulo.fate.zookeeper.ZooSession.connect(ZooSession.java:96) 
at org.apache.accumulo.fate.zookeeper.ZooSession.getSession(ZooSession.java:146) 
at org.apache.accumulo.fate.zookeeper.ZooReader.getSession(ZooReader.java:36) 
at org.apache.accumulo.fate.zookeeper.ZooReader.getZooKeeper(ZooReader.java:40) 
at org.apache.accumulo.fate.zookeeper.ZooCache.getZooKeeper(ZooCache.java:56) 
at org.apache.accumulo.fate.zookeeper.ZooCache.retry(ZooCache.java:127) 
at org.apache.accumulo.fate.zookeeper.ZooCache.get(ZooCache.java:233) 
at org.apache.accumulo.fate.zookeeper.ZooCache.get(ZooCache.java:188) 
at org.apache.accumulo.core.client.ZooKeeperInstance.getInstanceID(ZooKeeperInstance.java:143) 
at org.apache.accumulo.core.client.ZooKeeperInstance.<init>(ZooKeeperInstance.java:104) 
at org.apache.accumulo.core.client.ZooKeeperInstance.<init>(ZooKeeperInstance.java:85) 
at Accumulo.Accumulo.connectToMiniCluster(Accumulo.java:454) 
at Accumulo.Accumulo.<init>(Accumulo.java:140) 
at Accumulo.FrontEnd.main(FrontEnd.java:56) 

Accumulo.Accumulo.connectoToMiniCluster(线454)是:

Instance inst = new ZooKeeperInstance(mac.getInstanceName(), mac.getZooKeepers()); 

有什么建议么?互联网对许多Accumulo框架(包括MAC)缺乏文档记录。

回答

1

事实证明,我是缺少JAR库的屈指可数,我通过了JUnit寻找TemporaryFolder日志文件看出这一点。下载所有适当的库后,我解决了我的问题。

下载所有的依赖罐子得到任何Java代码与accumulo从这里的工作原理: http://mvnrepository.com/artifact/org.apache.accumulo/accumulo-core/1.5.0 并应解决是解决accumulo java代码一个很好的起点。

1

你试图实例化ZooKeeperInstance之前启动MiniAccumuloCluster实例?

,请务必让mac.start()。

+0

我没有调用start()创建我的实例之前,但经过。 – Mastergeek

+0

如果你说在瓶子中添加固定你的问题,那就这样吧。但是,鉴于您的堆栈跟踪,您在ZooKeeperInstance的构造函数中被阻止,因为您没有启动MiniAccumuloCluster实例。 – elserj

+0

我发现我的Junit3规则并不完全正确,因此没有为临时文件夹创建MiniAccumuloCluster对象实例的File对象。 – Mastergeek