2016-07-18 18 views
0

EDIT: Die angenommene Antwort ist aufgrund der ursprünglichen Frage für C * 2.2. Seitdem habe ich die Arbeit am Stamm Version des Codes eingeschaltet, und ich habe in der Lage gewesen, es mit IntelliJ IDEA zu debuggen mit überhaupt kein Problem.Commons-Logging zum Debuggen in Cassandra

Ursprüngliche Frage:

Mit Blick auf die HowToDebug Seite aus dem Cassandra Wiki, Punkt 4.2 sagt der commons-logging jar in das neue Projekt für das Debuggen verwendet hinzuzufügen. Allerdings finde ich das nicht im Build-Ordner des Cassandra-Projekts. Ich denke, dieses Glas wurde nach der Zeit, in der der Artikel geschrieben wurde, durch eine andere Version ersetzt. Heutzutage zu debuggen, welche Gläser muss ich hinzufügen?

Gleiche Frage für build/lib/Gläser/Schwein - *. Jar, wie ich dieses Glas in dem entsprechenden Ordner nicht so gut sehen.

Ich arbeite an dem Code von Cassandra 2.2.

EDIT: unter Verwendung der Lösung, bekam ich die folgende Ausgabe direkt nach den Debugger starten:

WARN 16:53:19 Only 40913 MB free across all data volumes. Consider adding more capacity to your cluster or removing obsolete snapshots 
WARN 16:53:19 Only 40913 MB free across all data volumes. Consider adding more capacity to your cluster or removing obsolete snapshots 
WARN 16:53:19 jemalloc shared library could not be preloaded to speed up memory allocations 
WARN 16:53:19 jemalloc shared library could not be preloaded to speed up memory allocations 
WARN 16:53:19 JMX is not enabled to receive remote connections. Please see cassandra-env.sh for more info. 
WARN 16:53:19 JMX is not enabled to receive remote connections. Please see cassandra-env.sh for more info. 
ERROR 16:53:19 cassandra.jmx.local.port missing from cassandra-env.sh, unable to start local JMX service. 
ERROR 16:53:19 cassandra.jmx.local.port missing from cassandra-env.sh, unable to start local JMX service. 
WARN 16:53:20 Directory build/test/cassandra/data doesn't exist 
WARN 16:53:20 Directory build/test/cassandra/data doesn't exist 
WARN 16:53:20 Directory build/test/cassandra/commitlog doesn't exist 
WARN 16:53:20 Directory build/test/cassandra/commitlog doesn't exist 
WARN 16:53:20 Directory build/test/cassandra/saved_caches doesn't exist 
WARN 16:53:20 Directory build/test/cassandra/saved_caches doesn't exist 
WARN 16:53:22 No host ID found, created d47c6743-a52c-4298-9f6d-3588a7765888 (Note: This should happen exactly once per node). 
WARN 16:53:22 No host ID found, created d47c6743-a52c-4298-9f6d-3588a7765888 (Note: This should happen exactly once per node). 
WARN 16:53:22 Generated random token [cd5af2b96149d21ba54a6b35d8d4a05d]. Random tokens will result in an unbalanced ring; see http://wiki.apache.org/cassandra/Operations 
WARN 16:53:22 Generated random token [cd5af2b96149d21ba54a6b35d8d4a05d]. Random tokens will result in an unbalanced ring; see http://wiki.apache.org/cassandra/Operations 

Ist das erwartet? Ich nehme an, ich kann die erste Nachricht bezüglich des verfügbaren Speicherplatzes ignorieren, aber was ist mit den anderen? Sind die duplizierten Nachrichten auch eine normale Sache?

Antwort

2

Sie werden wahrscheinlich erfolgreicher sein, wenn Sie eine Verbindung zu Cassandra als externen Prozess herstellen, anstatt Cassandra von Eclipse aus zu starten. Ich würde empfehlen, aktiviert ccm das Einrichten eines lokalen Cluster mit Debug-Ports zu verwenden. Anschließend können Sie sich mit einem der gestarteten Knoten von Eclipse aus verbinden und das Debugging starten.

  1. Clont Cassandra in dem Verzeichnis zu arbeiten und JAR-Datei erstellen, wenn nicht bereits
  2. Verwenden ccm getan, um neuen leeren Cluster auf Quellen aus git basierend zu erstellen: ccm create 2.2-1n --install-dir=/path/to/build/sources/cassandra-2.2
  3. hinzufügen Knoten zu Cluster: ccm add -s -r 9881 -j 8001 -i 127.0.0.1 node1 (-r wird angeben Remote-Debug-Port, -j JMX-Port)
  4. starten Cluster: ccm start
  5. Connect von eclipse: Run -> Debug configurations -> Remote Java Application -> Right click and select "Add" -> Enter -r port value in connection settings
+0

Danke für Ihre Eingabe. Ich habe deine Methode ausprobiert, aber ich glaube nicht, dass ich es richtig verstanden habe ... Kannst du bitte das EDIT in meiner Frage überprüfen? –

+0

Wo Sie die Log-Ausgabe aufmerksam geworden? –