2011-01-14 3 views
3

Je suis en train de configurer une installation à un seul nœud de Cassandra sur ma machine virtuelle Ubuntu. J'ai modifié le fichier cassandra.yaml sous/cassandra/conf avec mon propre schéma personnalisé. Quand j'ai essayé d'utiliser l'utilitaire schematool sous/cassandra/bin, je suis l'erreur:Problèmes de téléchargement de schéma dans cassandra

Cannot import schema when one already exists

Quand j'ai essayé de naviguer vers le mbean loadSchemaFromYAML de la console JMX:

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)

Quelqu'un peut indiquer ce se passe ici et comment puis-je obtenir mon schéma chargé?

Merci

Répondre

5

Vous ne pouvez importer le schéma de cassandra.yaml une fois. (Ceci est maintenant obsolète, d'ailleurs.) Si vous voulez à nouveau importer le schéma de cassandra.yaml, vous devrez effacer vos répertoires de données (/ var/lib/cassandra/*) et redémarrer Cassandra.

Votre autre option (et ce que vous devrez faire dans le futur) est de créer les espaces de clés et les familles de colonnes en utilisant bin/cassandra-cli ou un autre client. Voici un article on live schema modifications pour commencer.

+0

Basé sur le lien que vous avez fourni, il semble que si nous avons introduit une version plus récente du cassandra.yaml et redémarré le serveur, les définitions de schéma seront ramassés. Y a-t-il une raison pour laquelle la fonction d'importation de schéma via cassandra.yaml a été dépréciée? Étant une recrue j2ee, je me demandais aussi pourquoi la console jmx a lancé l'exception que j'ai décrite. –

+0

Non, le nouveau schéma ne sera certainement pas récupéré au redémarrage sauf si vous effacez les données existantes et réimportez. C'est déconseillé car avoir plusieurs sources de «vérité» concernant le schéma cause des problèmes, et les modifications de schéma en direct sont une bien meilleure option (pour des raisons de clustering). Je ne suis pas un mec J2EE/JMX non plus, et je ne suis pas vraiment sûr de savoir pourquoi cette exception particulière est lancée: /. Je ne pense pas que ce soit normal. –

+0

Pouvez-vous élaborer sur les multiples sources de «vérité» concernant le schéma? –

Questions connexes