Cassandra

Cassandra 從所有節點備份還是僅從一個節點備份?

  • April 17, 2018

Cassandra 是一個分佈式數據庫,其中每個節點都與來自同一環/集群的其他節點同步。

基於快照進行備份時,我需要單獨備份每個節點還是一個就足夠了?

文件說:

要拍攝全域快照,請使用並行 ssh 實用程序(例如 pssh)執行 nodetool snapshot 命令。

我在這裡錯過了一點嗎?

簡短的回答 - >您必須在所有節點上拍攝快照。

正如您所指出的,Cassandra 是一個分佈式數據庫。例如,假設您有 3 個複制因子 (RF) 為 2 的節點。每個節點對環中所有令牌的 1/3 負有主要責任。此外,每個節點都有另一個節點的副本,並且nodetool status會顯示“Owns 66.6%”(2 個副本/3 個節點)。

如果您只備份一個節點,您只能獲取該節點上的數據以及該節點上儲存的任何副本。由於數據是分佈式的,除非您在所有節點上拍攝快照,否則您最終會失去一些數據。

引用自:https://dba.stackexchange.com/questions/183802