Кассандра - данные не реплицируются по всем узлам - PullRequest
0 голосов
/ 30 сентября 2019

Я выполняю запрос по всем трем узлам. Один из запросов приводит к отображению десяти строк, в то время как тот же запрос показывает две строки на двух других.

Коэффициент репликации установлен в 3:

keyspace_name      | durable_writes | replication
--------------------+----------------+-------------------------------------------------------------------------------------

table name |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}

Notstool Netstats:

nodetool netstats
Mode: NORMAL
Not sending any streams.
Read Repair Statistics:
Attempted: 16519
Mismatch (Blocking): 0
Mismatch (Background): 0
Pool Name                    Active   Pending      Completed   Dropped
Large messages                  n/a         1             13         4
Small messages                  n/a         0         320422         4
Gossip messages                 n/a         0       12972040       470

Восстановление Nodetool выполнено на всех узлах.

1 Ответ

0 голосов
/ 01 октября 2019

Исходя из вашего комментария, проблему можно предотвратить, используя уровень согласованности QUORUM или выше. Следует учитывать, что увеличение согласованности может повлиять на производительность и отказоустойчивость. Например, использование уровня согласованности ALL гарантирует всегда наличие точных данных, но если возникает проблема с одним из экземпляров кластера, запросы не будут выполнены, поскольку уровень согласованности не будет удовлетворен. Наилучший уровень согласованности будет зависеть от вашего варианта использования и вашего SLA.

Как часто вы выполняли ремонт (nodetool repair) в вашем кластере? Ремонт устранит основную причину для различных данных, извлеченных из каждого узла.

...