Поддержание RF при сбое узла - PullRequest
0 голосов
/ 28 февраля 2019

Поддерживает ли Кассандра RF, когда узел выходит из строя.Например, если число узлов равно 5, а RF равно 2, то, когда один узел отключается, копирует ли оставшаяся реплика свои данные на какой-то другой узел, чтобы поддерживать RF в 2?

В Datastax'sдокументация , упоминается, что "If a node fails, the load is spread evenly across other nodes in the cluster". Означает ли это, что миграция данных происходит, когда узел выходит из строя? Эта функция доступна только в Cassandra Datastax, а не в Apache Cassandra?

1 Ответ

0 голосов
/ 28 февраля 2019

Нет, вместо этого «подсказка» будет храниться в узле-координаторе и в конечном итоге будет записана в узел, которому принадлежит диапазон токенов, когда узел вернется - запись будет успешной в зависимости от вашего уровня согласованности.Таким образом, в приведенном выше примере запись будет успешной, если вы записываете с уровнем согласованности как ОДИН.

Если узел не работает только в течение короткого периода времени - узел получит данные обратно из подсказок от других узлов, когда он придетназад.Но если вы списаете узел, тогда данные будут реплицированы на другие узлы, и у других узлов будут новые диапазоны токенов (тот же случай, когда узел добавляется также в кластер).

Со временем данныев одной реплике может стать несовместимым с другими, и процесс восстановления помогает Cassandra исправить их - https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsRepairNodesTOC.html

Это применимо и в Apache Cassandra.

...