我應該在多個 cassandra 節點上看到相同的 sstable 嗎?

我應該在多個 cassandra 節點上看到相同的 sstable 嗎?

我們正在嘗試驗證 cassandra 叢集中的複製狀態。我的同事發現多個節點上只存在少量的 sstable 檔案。其他的都是獨一無二的。

對我來說,這是有道理的。據我了解,每個節點應該負責一組唯一的範圍,並且應該具有反映這些範圍的sstables。但現在我不確定。

我們是否應該找到每個 sstable 的至少 n 個副本,複製因子為 n?或者 sstable 的副本是引導程式的結果,尚未壓縮?

答案1

當發生記憶體表刷新以及壓縮 SSTable 時,會建立 SSTable 檔案。每個節點可能會在不同時間發生這種情況(加上其他因素,例如停機時間短等)。

要正確複製所有數據,您需要實施修復過程 - 透過明確呼叫nodetool repair或使用某些工具,例如 DataStax 的 OpsCenter(僅適用於 DSE)或 Reaper(或類似工具)。

相關內容