Cassandra起動時の問題:既存の列ファミリーにIDを割り当てようとしました

cassandra startup
Cassandra起動時の問題:既存の列ファミリーにIDを割り当てようとしました

jdk-1.6.0_24 64ビットでcentos5.5 x86_64で* cassandra 0.7.4 *を使用しています。 再起動すると、次のようにスローされます。

” ” ‘

ERROR 11:37:32,009 Exception encountered during startup.
java.io.IOError: org.apache.cassandra.config.ConfigurationException: Attempt to assign id to existing column family.
    at org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:476)
    at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:138)
    at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:314)
    at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:79)
Caused by: org.apache.cassandra.config.ConfigurationException: Attempt to assign id to existing column family.
    at org.apache.cassandra.config.CFMetaData.map(CFMetaData.java:223)
    at org.apache.cassandra.config.DatabaseDescriptor.loadSchemas(DatabaseDescriptor.java:472)
    ... 3 more

” ” ‘

問題の場所を特定しようとします。システムキースペースのファイルを削除すると、*成功*を再起動できます。 だから、この問題は、CF * Scheam *でも、システムのキースペースが原因だと思います。

次に、新しいテスト環境を構築します。この問題はこの動作の原因であることがわかります

update keyspace system with replication_factor=3;

しかし、今はどうすれば修理できますか?! このクラスターには多くのデータがあり、データを失うことはありませんでした。

私はすでに「replication_factor = 1でキースペースシステムを更新する」ことをしましたが、問題は_まだ存在しています_。 nodetoolを使用してフラッシュ後またはフラッシュ前に修復しようとしましたが、すべて効果はありません。

データを失うことなくcassandraを再起動するにはどうすればよいですか? 誰が私を助けることができます?

  0  1


ベストアンサー

あなたが何をしているかを本当に本当に知っていない限り、システムキースペースを決して変更してはいけません。 (質問する必要がある場合、そうしません。 🙂

したがって、答えは次のとおりです。

回復するには、cassandra.yamlのinitial_tokenをノードの現在のトークン(「nodetool ring」で確認できます)に設定し、システムキースペースを削除して再起動する必要があります。 次に、カラムファミリ定義を再作成する必要がありますが、データは影響を受けません。

2


タイトルとURLをコピーしました