1

我最近發現,如果您在Cassandra中使用條件事務,那麼它將默認使用這些事務的SERIAL一致性。Cassandra無法達到一致性水平SERIAL

http://www.datastax.com/dev/blog/lightweight-transactions-in-cassandra-2-0

但我無法弄清楚如何設置我的複製因子和節點數量,使有條件的交易,即使單個節點下取得成功。我想有一個複製因子2.

我試過replication_factor 1和2與5節點羣集。我需要更多節點嗎?有什麼配置在我失蹤的地方?下面我的密鑰空間配置。我在Cassandra 3.5和3.9上經歷過這個。

CREATE KEYSPACE IF NOT EXISTS reptest WITH replication = {'class': 'SimpleStrategy', 'replication_factor':2};

+0

可以嘗試使用網絡拓撲策略而不是簡單的策略? Theres一些問題 –

回答

2

SERIAL的一致性水平對應於QUORUM當涉及到具有承認操作的節點的數目。使用QUORUM來補償單個死點的最小複製因子爲3(3個節點中至少有2個存活)。

+0

你能解釋爲什麼複製因子3有效,但複製因子2不能?據我所知,他們都需要相同數量的節點作爲quorom。 –

+0

如果仲裁需要2個節點,但複製因子只有2個,那麼它們都需要處於活動狀態。使用複製因子3時,一個節點可能會降到仍然滿足2個節點的法定人數。 –

+0

對,但是如果我有一個複製因子爲2的3節點集羣,Cassandra不應該容忍單個節點的丟失嗎? –

相關問題