假設我們擁有包含以下節點的3節點羣集:node1,node2,node3。 有一天,我們爲整個集羣創建了快照,並將每個節點的快照表複製到外部備份服務器。如何在更改羣集中的節點數量之後恢復Cassandra shapshot
一段時間過去了,現在羣集已經增長了:而不是3個節點,我們有5個節點。除此之外,其中一個原始節點不再存在,因此集羣現在看起來如下所示:node1,node3,node4,node5,node6。
如何正確地將快照數據恢復到更改的羣集中? 我說得對,在上述情況下唯一的方法是使用sstableloader?
如果它是真的,如何啓動還原過程,以便將快照放置在未安裝Cassandra的備份服務器上?我需要在那裏安裝sstableloader還是我可以遠程啓動它?
sstableloader將以多快的速度恢復數據?
在我前面描述的情況下,節點的數量從創建快照的時刻開始改變。 那麼,將node2備份數據放置在node5上可以嗎?那麼nodetool清理會在所需節點之間傳播數據嗎? –
沒有清理不會傳播它,清理只是放棄一切不是這個節點的東西。如果你想分散數據,理論上你必須放置每個節點的備份,然後運行清理。在你的情況下,我會使用sstable加載程序,它會將備份的數據流式傳輸到集羣中正確的節點。你可以使用複製清理組合來做到這一點,但它只是時間/資源密集型。 –
如果可以在集羣中節點數量或複製數量隨時間變化的情況下執行,我寧願採用將快照放回數據文件夾的方式。 –