を避けるために何をすべきか、私はのapache-カサンドラ-3.10cassandraはmemtablesをnodetool stopdaemonにフラッシュしますか?そうでない場合は、データの損失
を使用しています、私が代わりに殺す-9 pidのの理解、優雅カサンドラを停止する唯一の方法は、nodetoolのstopdaemonです。
は、しかし、私が知りたいのであればnodetoolのstopdaemonもフラッシュmemtablesのデータシャットダウン前 sstables へ。
nodetool stopdaemonを使用してノードを停止すると、フラッシュされないとのデータ損失になります。
また、これについて調べた後、私はDURABLE_WRITESについて読んでいます。耐久性のある書き込みは実際に何をしていますか?
また、DURABLE_WRITESを設定するセクション下datastaxのドキュメントの状態が
参照「SimpleStrategyを使用してキースペースにこの属性を設定しないでください」:私の鍵空間を用いて構成されている場合は何https://docs.datastax.com/en/cql/3.1/cql/cql_reference/create_keyspace_r.html
をシンプルな戦略では、シャットダウン時にデータが消失するのを助けることができる場合には、DURABLE_WRITESのメリットはまだありませんか?
手動でシャットダウンする前に、ノードツールフラッシュを実行していますが、シャットダウン時にデータが失われないように唯一の方法はありますか?
私はhttps://issues.apache.org/jira/browse/CASSANDRA-3564から、シャットダウン時にフラッシュする機能が追加されていないことを確認しました。
はまた https://issues.apache.org/jira/browse/CASSANDRA-12001
意図がnodetoolのstopdaemonを使用してシャットダウンの任意のデータの損失を避けるためにある同じ問題に関するオープンチケットがあります。基本的には、シャットダウンする前にすべてのテーブルをフラッシュして、シンプル戦略を検討してください。
ご協力いただければ幸いです。
ありがとう
私たちが手動フラッシュ/排水をしないと、カッサンドラはメモリ内のすべてをディスクにフラッシュしないと確信していますか? –
データを書き込むと、Cassandraはコミットログにデータを保存します(高速アクセスのため)。コミットログデータをフラッシュ/ドレインすると、メモリにデータが書き込まれません。そのため、プロセスを終了してもデータは失われません。 –
しかしコミットログとsstableの間にはmemtableがあります。私はmemtableで保持されているデータについて懸念しています。 memtables内のデータはcommitlogでシャドーされていないためです。 memtable_cleanup_thresholdにまだ達しておらず、ノードをシャットダウンしている場合、memtableにフラッシュされていないデータは失われます。私がフラッシュ/ドレインを行うと、コミットログのみが返されます。 –