2016-08-15 16 views
0

我們計劃在我們的Cassandra集羣中激活增量式reparis,並在閱讀documentation之後,似乎我們必須按照migration procedure添加時間戳記標記,以便讓Cassandra知道上次修復的時間。遷移過程到必要的增量修理?

閱讀的過程後,我有一些問題:

  1. 發生充分修復程序後創建的新SSTables什麼?根據上一個鏈接的步驟,我們不會爲它們設置標記。

  2. 在測試集羣中做一些測試,我們試圖在遷移前使用sstablemetadata命令從SSTable檢索修復時間戳,並按預期返回「0修復」,然後嘗試運行增量直接修理(不進行遷移),並且我們能夠驗證「修復位置」值是否設置正確,並且一切似乎都正常。這是否意味着遷移過程是多餘的?忽視它是否安全?

回答

2

會發生什麼事,以全力搶修中 程序後創建的新SSTables?根據前面鏈接的步驟,我們絕不會爲 設置標記。

一旦開始運行增量修復,它將由運行的那些設置得到設置。

做一些測試,在測試組,我們試圖檢索從的SSTable修復 時間戳做遷移(使用 sstablemetadata命令),然後返回「0修復」之前,符合市場預期, 然後我們嘗試直接運行增量修復(不需要執行 遷移),我們可以驗證「已修復」的值是否已正確設置 ,並且一切似乎都正常工作。這個 是否意味着遷移過程是多餘的?忽視它是否安全?

如果你沒有很多數據,那麼你可以跳過第一部分,並開始運行增量修復。做第一步的原因是子範圍修復和增量修復不是真正兼容的,當你有一個大的數據集時,你通常需要進行子範圍修復,以使它們在正常的時間內完成而不會消耗太多許多資源。由於增量修復不適用於子範圍修復,如果您沒有按照第一步設置修復時間,那麼第一次增量修復可能會壓倒您的節點。