Ab Zookeeper-Cluster. Fehler: Konnte nicht gefunden oder geladen werden Hauptklasse org.apache.Tierpfleger.server.Kollegium.QuorumPeerMain
(Ich bin läuft auf CentOS 5.8). Ich verfolge die Richtung für eine Clustered (Multiserver) Tierpfleger Set-up, aber erhalte eine Fehlermeldung, wenn ich versuche zu starten, meinen server. Wenn ich den Befehl ausführen wie in der Dokumentation beschrieben:
java -cp zookeeper-3.4.6.jar:lib/log4j-1.2.16.jar:conf \ org.apache.zookeeper.server.quorum.QuorumPeerMain conf/zoo.cfg
Bekomme ich die Fehlermeldung:
Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
Habe ich meine Dateien, die Lage als solche und bin mit von der ~/Tierpfleger-3.4.6 Verzeichnis:
~/zookeeper-3.4.6/zookeeper-3.4.6.jar
~/zookeeper-3.4.6/conf/zoo.cfg
~/zookeeper-3.4.6/data/myid
~/zookeeper-3.4.6/lib/log4j-1.2.16.jar
~/zookeeper-3.4.6/bin/zkServer.sh
Weiß jemand, warum dieser Fehler passiert ist? Ich verstehe nicht ganz die Argumente, die übergeben werden, so ist es für mich schwer zu Debuggen, das Pfad Problem. Als seitliche Anmerkung, ich habe versucht, läuft ./zookeeper-3.4.6/bin/zkServer.sh start
, die nicht erfolgreich arbeiten, aber in der Dokumentation erscheint, um anzuzeigen, dass dieser Befehl ist bestimmt für eine single-node-Instanz.
Bearbeiten:
Konnte ich einige Fortschritt durch ändern der command und herausnehmen der :conf \
Teil, so jetzt bin ich läuft:
java -cp zookeeper-3.4.6.jar:lib/log4j-1.2.16.jar: org.apache.zookeeper.server.quorum.QuorumPeerMain conf/zoo.cfg
Bekomme ich einen neuen Fehler, aber das ist Fortschritt...
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFacto
ry
at org.apache.zookeeper.server.quorum.QuorumPeerMain.<clinit>(QuorumPeer
Main.java:64)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 1 more
entspricht der Linien 63 und 64 ab QuorumPeerMain
public class QuorumPeerMain {
private static final Logger LOG = LoggerFactory.getLogger(QuorumPeerMain.class);
InformationsquelleAutor Shark | 2015-02-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie in der Lage zu laufen zkServer.sh um einen gruppierten setup. Es wird die gleiche conf/zoo.cfg, die Sie manuell mit den cluster-Endpunkte.
Der beste Weg, um zu überprüfen, was Ihnen fehlt, aus Ihrem classpath (und finden Sie die richtige java-Befehl), ist die Ausführung des zkServer.sh Sie sagte für Sie tätig.
Wenn es startet, überprüfen Sie den tatsächlichen Befehl wie folgt verwendet:
InformationsquelleAutor igorbel