Sto tentando di utilizzare Apache Curatore con un'istanza guardiano dockerized e non importa come tento di collegarmi finisco sempre con un errore diApache Curatore non implementate errori nel tentativo di creare zNodes
org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented for...
. Ho provato a dare un senso alla documentazione, ma non sto arrivando da nessuna parte. Ho annotato nel CLI guardiano e ha assicurato il numero di porta è corretto così:
[email protected]:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 31f1093495ba compose_zookeeper "/opt/zookeeper/bin/ 3 weeks ago Up About a minute 0.0.0.0:32770->2181/tcp,
0.0.0.0:32769->2888/tcp, 0.0.0.0:32768->3888/tcp zookeeper
Ecco il codice che sto cercando di utilizzare:
public class App {
public static void main(String[] args) {
CuratorFramework client = CuratorFrameworkFactory.newClient("0.0.0.0:32770", new RetryUntilElapsed(3000, 1000));
client.start();
try {
client.create().forPath("/larry-smells/foop", "tuna?".getBytes());
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
Per quanto posso dire dalla Curator getting started page, questo dovrebbe funzionare. Cosa mi manca?
edit1 appena capito che io sono in grado di tirare i dati fuori del complesso guardiano dello zoo così:
System.out.println(new String(curatorFramework.getData().forPath("/larry-smells")));
ma il comando è ancora creare saltare in aria.
edit2
StackTrace dell'errore:
org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented for /larry-smells/foop at org.apache.zookeeper.KeeperException.create(KeeperException.java:103) at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:1297) at org.apache.curator.framework.imps.CreateBuilderImpl$17.call(CreateBuilderImpl.java:1040) at org.apache.curator.framework.imps.CreateBuilderImpl$17.call(CreateBuilderImpl.java:1023) at org.apache.curator.connection.StandardConnectionHandlingPolicy.callWithRetry(StandardConnectionHandlingPolicy.java:67) at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:99) at org.apache.curator.framework.imps.CreateBuilderImpl.pathInForeground(CreateBuilderImpl.java:1020) at org.apache.curator.framework.imps.CreateBuilderImpl.protectedPathInForeground(CreateBuilderImpl.java:501) at org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:491) at org.apache.curator.framework.imps.CreateBuilderImpl$4.forPath(CreateBuilderImpl.java:367) at org.apache.curator.framework.imps.CreateBuilderImpl$4.forPath(CreateBuilderImpl.java:309) at com.mycompany.app.App.main(App.java:35)
fatto modifica suggerita e ottenuto lo stesso risultato. Ho anche aggiunto la traccia dello stack al testo della domanda. –
doots - scopre che sono un dink. il problema è stato chiaramente indicato in un avviso nella parte inferiore della home page del curatore riguardante l'utilizzo della sola versione 2 con le versioni di <3.5.x. Fondamentalmente non sono riuscito a RTFM. Se lo metti sotto forma di risposta, lo accetterò così almeno avrai qualche credito per il tuo problema :-) –