2016-11-14 35 views
0

我需要設置一個帶有3個節點且RF = 1的Cassandra集羣。 我想在所有三個節點上同時設置一個cron作業,每週一次運行節點工具修復。 當節點工具修復正在進行時,這會影響發送到羣集的數據嗎?進行nodetool修復的節點是否能夠服務於新的請求?節點工具修復正在進行時向cassandra發送數據

+0

不,它不會影響正在發送到集羣的數據,是的,它將能夠提供新請求 –

+0

Thnx @AshrafulIslam :) – vamsi

回答

1

節點工具修復所做的是比較數據段中所有持有者之間的數據並解決不一致問題。

RF = 1意味着您只能存儲一個數據副本=沒有保留副本=無需與RF = 1進行比較=修復操作什麼也不做。

單節點修復特別容易成爲無操作。 (三)CASSANDRA-1691

我建議您保持RF = 3(2被證明是難以在某些情況下進行管理,比如支持失去節點+可用,3讓您對數據一致性視圖+丟失1個節點)

+0

嗨@Ivan Thnx回覆。如果我使用RF = 2(由於某些限制無法使用RF = 3),那麼我一次在所有3個節點上運行節點工具修復,是否會影響羣集中的讀取或寫入? – vamsi

+0

@vamsi您將能夠發送讀取/寫入羣集。由於修復過程需要打開磁盤,延遲時間會變得更糟,所以您的r/w活動將與修復相競爭。默認情況下,該命令會一個接一個地修復所有節點,從而縮短延遲問題。你可以在[docs](https://docs.datastax.com/en/cassandra/2.0/cassandra/tools/toolsRepair.html)中閱讀。請考慮使用RF = 3 :) – Ivan

相關問題