2013-07-08 160 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