2017-01-02 104 views
0

我開始使用cassandra 3.7,並且始終對commitlog有問題。當電腦出現意外停電時,例如cassandra服務不重新啓動。我嘗試啓動命令行,但總是出現錯誤cassandra could not read commit log descriptor in file無法讀取文件中提交日誌描述符

我必須刪除所有提交日誌才能啓動cassandra服務。問題是我失去了大量的數據。我試圖將複製因子增加到3,但是是一樣的。

我能做些什麼來減少丟失的數據量?

pd:我只有一臺pc使用cassandra數據庫,不可能添加更多的pcs。

回答

0

我認爲你的選擇是解決這個問題,因爲它不太可能有一個有保證的解決方案來防止承諾表文件在突然停電時被破壞。由於您只有一個節點,因此恢復數據變得更加困難。在單個節點羣集上將複製因子增加到3是無濟於事的。

你可以嘗試的一件事是減少memtables被刷新的頻率。在刷新memtable時,提交日誌中的條目將被丟棄,從而減少丟失的數據量。 Details here。這將不會解決根本問題

+0

我會嘗試修改此值以便更頻繁地執行cassandra刷新memtable到磁盤。我將數據庫安裝在帶有4gb ram的電腦中,那麼正確的配置是什麼? –