4

シンプルな単一ノード cassandra セットアップ (1.1.0) (デフォルト設定) があります。cassandra-cli でキースペースを作成しようとすると、次のエラーが表示されます: [default@unknown] create keyspace tax; org.apache.thrift.transport.TTransportException

Cassandra サーバー ログの例外スタック トレース: ERROR 12:15:04,722 Exception in thread Thread[MigrationStage:1,5,main]

java.lang.AssertionError
    at org.apache.cassandra.db.DefsTable.updateKeyspace(DefsTable.java:441)
    at org.apache.cassandra.db.DefsTable.mergeKeyspaces(DefsTable.java:339)
    at org.apache.cassandra.db.DefsTable.mergeSchema(DefsTable.java:269)
    at org.apache.cassandra.service.MigrationManager$1.call(MigrationManager.java:214)

./var/lib/cassandra/data の内容を削除して、サーバーと Mac を再起動しようとしましたが、それでも同じ問題が発生します。

4

2 に答える 2

5

システムのキースペースが壊れているようです。からのデータ ファイルの削除

  • /var/lib/カサンドラ/データ
  • /var/lib/cassandra/commitlog
  • /var/lib/cassandra/saved_caches

Cassandraサーバーを再起動すると、問題が修正されました。(上記のディレクトリは $CASSANDRA_HOME/conf/cassandra.yaml で定義されています)

于 2012-06-04T09:06:41.480 に答える
3

以下は、キースペースを Cassandra に追加する際の流れです。 (Cassandrda ソース コードのコメントに従って。間違っている場合は訂正してください)

1) 最初のステップで、新しいキースペースが追加されたかどうかを確認します。

2) 2 番目のステップで、再作成されたキースペースがあるかどうかを確認します。このコンテキストでの再作成とは、それらが以前に削除されたものの、低レベルのスキーマに空のキーとしてまだ存在していることを意味します。

3) 最後のステップで、変更されたキースペースを更新し、キースペースを保存すると、後で削除されます。

キースペースの変更中に関数「updateKeyspace」を呼び出します。ここでは、キースペースのメタデータが破損していると、アサーション エラーがスローされるようです。

あなたの場合、同じキースペースを削除して再作成しようとしたことが原因で、この問題が発生したか、メタデータの破損であると述べた可能性があります。

于 2012-06-04T09:51:22.893 に答える