2017-01-02 16 views
0

私はcassandra 3.7を使い始めましたが、いつもコミットログに問題があります。予期しない停電によってPCが予期せず終了した場合、cassandraサービスは再起動しません。私はコマンドラインを開始しようとしますが、常にエラーcassandra could not read commit log descriptor in fileが表示されます。ファイル内にコミットログディスクリプタを読み込めませんでした

私はすべてのコミットログを削除して、cassandraサービスを開始する必要があります。問題は、私が大量のデータを失うことです。私は、複製係数を3に増やそうとしましたが、同じです。

データの損失量を減らすためにできることはありますか?

pd:私はcassandraデータベースを使用するために1台のPCしか使用できません。それ以上のPCを追加することはできません。

答えて

0

突然の停電の際にコミットテーブルファイルが壊れるのを防ぐための保証されたソリューションがないため、ここで問題を回避することをお勧めします。ノードが1つしかないため、データを回復するのがより困難になります。単一ノードクラスタ上でレプリケーションファクタを3に増やすことは役に立ちません。

あなたが試みることのできるものは、memtablesがフラッシュされる頻度を減らすことです。 memtableがフラッシュされると、コミットログのエントリは破棄され、失われたデータ量が減少します。 Details here。しかし、これは根本的な問題を解決しません。

+0

私はこの値を変更して、そのキャッシュをmemtableをより頻繁にディスクにフラッシュするようにします。私は4GBのRAMを搭載したPCにデータベースをインストールしましたが、正しい設定は何でしょうか? –

関連する問題