Конфигурация для cassandra с rac и vnodes в одном центре обработки данных - PullRequest
0 голосов
/ 01 марта 2019

Мне было интересно, какая конфигурация лучше всего подходит для равномерного распределения данных между узлами.

  1. 5 узлов с 3 racs (2 узла (узел 1, узел4) на rac1, 2 узла на rac2(узел2, узел4), 1 узел в rac3 (узел3)) Коэффициент репликации 3 и чтение / запись в кворуме

В этом случае мне интересно, будет ли узел 3, который является единственным узлом в rac3, иметьбольше данных, чем в других узлах, так как стратегия репликации предполагает, что реплики будут, но в узлах на разных rac.

6 узлов с 3-мя racs (2 узла (узел 1, узел4) на rac1, 2 узла на rac2 (узел2, узел4), 2 узла на rac3 (узел3, узел6)) Коэффициент репликации 3 и чтение / запись в кворум

В этом случае данные будут равномерно распределены по всем узлам.

Хотите знать, правильно ли мое понимание или нет?

Ответы [ 3 ]

0 голосов
/ 05 марта 2019

В Cassandra несколько RACK обеспечивают постоянную доступность данных в кластере Cassandra для любых катастрофических ситуаций.Кассандра рекомендует также то же самое в кластере продуктов.ваш оба варианта в порядке.тем не менее, вы должны пойти нечетное количество узлов в кластере Кассандра.

0 голосов
/ 13 марта 2019

В случае 5 узлов в 3 стойках, да, один узел будет находиться под большей нагрузкой / нагрузкой.

Хорошая идея - масштабировать кластер в кратные числа стоек, чтобы сохранить баланс данныхчерез узлы.Например, в кластере с 3 стойками вы должны добавлять 3 узла при каждом расширении кластера.

Если вы решите использовать несколько стоек, идеальное количество стоек должно быть ≥ выбранного вами коэффициента репликации ,Это позволяет Cassandra хранить каждую реплику в отдельной стойке.

В случае сбоя в стойке другие реплики будут по-прежнему доступны.

Например, при RF = 3 и 3 стойках изапросы на QUORUM, вы можете выдержать сбой одной стойки.Принимая во внимание, что с RF = 3 и 2 стойками на QUORUM, нет никакой гарантии, что 2 реплики все еще будут доступны в случае отказа стойки.

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

0 голосов
/ 01 марта 2019

Да, вы должны использовать 6 узлов, чтобы обеспечить одинаковое количество узлов в каждой стойке - одинаковое количество узлов в каждой стойке является основным требованием при работе с несколькими стойками.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...