2011-01-14 14 views
3

Ich richte eine Einzelknoteninstallation von Cassandra auf meiner Ubuntu VM ein. Ich habe die Datei cassandra.yaml unter/cassandra/conf mit meinem eigenen benutzerdefinierten Schema geändert. Als ich versuchte, mit dem schematool Dienstprogramm unter/cassandra/ist, habe ich den Fehler:Probleme beim Hochladen des Schemas in Cassandra

Cannot import schema when one already exists

Als ich zum mbean loadSchemaFromYAML von der JMX-Konsole versucht Navigation:

Problem invoking loadSchemaFromYAML: java.rmi.unmarshalexception:Error Unmarshalling return;nested exception is: Java.lang.ClassNotFoundException:org.apache.cassandra.config.ConfigurationException(no security manager:RMI class loader disabled)

Kann jemand darauf hinweisen, was geht hier weiter und wie bekomme ich mein Schema geladen?

Dank

Antwort

5

Sie nur das Schema aus cassandra.yaml einmal importieren. (Dies ist nun veraltet.) Wenn Sie das Schema erneut aus cassandra.yaml importieren möchten, müssen Sie Ihre Datenverzeichnisse löschen (/ var/lib/cassandra/*) und Cassandra neu starten.

Ihre andere Option (und was Sie in Zukunft tun müssen) ist die Schlüsselspaces und Spaltenfamilien mit bin/cassandra-cli oder einem anderen Client zu erstellen.

Hier ist ein article on live schema modifications, um loszulegen.

+0

Basierend auf dem von Ihnen bereitgestellten Link scheint es so, als ob wir eine neuere Version von cassandra.yaml einführen und den Server neu starten würden, die Schemadefinitionen werden übernommen. Gibt es einen Grund, warum die Schema-Import-Funktion über cassandra.yaml veraltet ist? Da ich ein j2ee Rookie bin, habe ich mich auch gewundert warum die jmx Konsole die Ausnahme ausgelöst hat, die ich beschrieben habe. –

+0

Nein, das neue Schema wird beim Neustart definitiv nicht übernommen, es sei denn, Sie löschen die vorhandenen Daten und importieren sie erneut. Es ist veraltet, da mehrere Quellen von "Wahrheit" bezüglich des Schemas Probleme verursachen und Live-Schema-Modifikationen eine viel bessere Option sind (für Cluster-Gründe). Ich bin auch kein J2EE/JMX-Typ, und ich bin nicht wirklich sicher, warum diese bestimmte Ausnahme geworfen wird: /. Ich denke nicht, dass das normal ist. –

+0

Können Sie die verschiedenen Quellen der "Wahrheit" bezüglich des Schemas näher erläutern? –

Verwandte Themen