Настройка Cassandra Replication

Я работаю с Кассандрой 3.9 . У меня есть некоторые сомнения, что у меня сейчас две физические машины, и я хочу, чтобы данные хранились как можно лучше: -

1) Либо в распределенном порядке на обеих машинах.
2) Другой способ хранить полные данные на 1 машине и копировать всю копию на другую машину. (первое предпочтение)

Теперь, если я займусь созданием 2 DC с 3 узлами в каждом, т.е. в случае моей установки, 1 машина будет иметь 3 локальных узла и аналогично вторую машину. Так как же мне заставить эти 2 независимых DC1 и DC2 общаться друг с другом?

Также я попытался использовать CCM для настройки кластера, но он останавливается с ошибкой " Ошибка CCM Warning Downloading 3.9.0 из-за того, что не все аргументы были преобразованы во время форматирования строки".

Я использовал этот запрос, когда я получаю сообщение об ошибке: - ccm create --version 3.9 .0 --nodes 3 --start test

1 ответ

Как Кассандра распространяет данные, проверьте этот ответ.

2) The other way to store complete data on 1 machine and replicate the entire copy onto the other machine. (first preference)

Ваша конфигурация в файле cassandra.yaml решает, куда поместить данные. Репликация данных зависит от вашего определения пространства ключей -

CREATE KEYSPACE ums_db WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1': '2', 'DC2': '2'} ;

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

Теперь, чтобы заставить его работать с двумя дата-центрами, в вашем случае с двумя разными машинами, вам нужно указать правильную стукачку. Повторно воспользуйтесь этой страницей, здесь объясняется наличие файла свойств snitch и cassandra-topology.properties, он определяет конфигурацию центра обработки данных. Два DC будут вести себя как один сервер cassandra. Каждый узел может взять на себя роль координатора, который решает этот сервер.

Другие вопросы по тегам