2011-01-14 4 views
3

Ubuntu VMにCassandraの単一ノードインストールを設定しています。/cassandra/confの下のcassandra.yamlファイルを自分のカスタムスキーマで修正しました。私は/カサンドラ/ binにschematoolユーティリティを使用してみましたとき、私はエラーを得た:cassandraにスキーマをアップロードする際の問題

Cannot import schema when one already exists

私はJMXコンソールからのMBean loadSchemaFromYAMLに移動しようとしたとき:

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)

は、誰かが何かを指摘することができますここでは何が起こっているのですか?スキーマをロードするにはどうしたらいいですか?

ありがとうございます。

答えて

5

cassandra.yamlからスキーマをインポートできるのは1回のみです。 (これは今や廃止されました。)cassandra.yamlからスキーマを再度インポートする場合は、データディレクトリ(/ var/lib/cassandra/*)を一掃してCassandraを再起動する必要があります。

あなたの別のオプション(および将来必要なこと)は、bin/cassandra-cliまたは別のクライアントを使用してキースペースと列ファミリを作成することです。

ここにはarticle on live schema modificationsがあります。

+0

あなたが提供したリンクに基づいて、新しいバージョンのcassandra.yamlを導入してサーバーを再起動したような場合は、スキーマ定義が取得されます。 cassandra.yaml経由のスキーマインポート機能が廃止された理由はありますか? j2eeルーキーなので、なぜjmxコンソールが私が説明した例外を投げたのか不思議でした。 –

+0

いいえ、既存のデータを消去して再インポートしない限り、新しいスキーマは再起動時に確実に選択されません。スキーマに関して複数の「真実」のソースを持つと問題が発生し、ライブスキーマの変更が(クラスタリングの理由で)はるかに良い選択肢になるため、非推奨です。私はJ2EE/JMXの人でもありません。なぜその例外がスローされているのかは分かりません。私はそれが普通のものだとは思わない。 –

+0

スキーマに関して複数の「真実」の出典を詳しく説明できますか? –

関連する問題