Переместите производственный кластер env cassandra на AWS cassandra без простоев - PullRequest
1 голос
/ 17 марта 2019

У меня есть кластер cassandra из 4 узлов, работающих в производственной среде на локальном контроллере домена. Я должен переместить его в Кассандру AWS. Я не хочу переместить Кассандру в DynamoDB по какой-то причине.

Используемая версия Cassandra довольно старая, т.е. 1.2.9.

Как переместить кассандру с локального DC на кассандру AWS без потери данных и без простоев.

С уважением, Вивек

Ответы [ 2 ]

2 голосов
/ 17 марта 2019

Создайте новый DC в AWS. Настройте синхронизацию между DC между обоими DC. Снять старый ДК.

https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsAddDCToCluster.html

1 голос
/ 06 апреля 2019

Я делал это раньше.

Как сказал Алекс Тбк, вы добавите узлы в AWS с новым центром обработки данных.

  1. Добавление новых пустых узлов с новым логическим именем центра обработки данных. Вам нужно будет использовать стукач GossipingPropertyFile (если вы этого еще не сделали) и указать DC в файле cassandra-rackdc.properties. Вы также можете указать логическую стойку в этом файле, и, как правило, рекомендуется поместить туда зону доступности AWS.

  2. После того, как вы построите один узел AWS, соберите остальные, используя IP первого узла в качестве начального числа. Вы не хотите, чтобы они пытались поразить ваш предварительный DC при перезагрузке. И после этого вы также захотите настроить первый узел на использование одного из других в качестве начального узла.

  3. После того как вы построите свои узлы, вам нужно будет изменить пространство ключей и указать коэффициент репликации для вашего нового контроллера домена AWS.

  4. Запустите nodetool rebuild на каждом узле AWS, используя существующий DC в качестве источника.

    nodetool rebuild -- sourceDCName

  5. Определенно рассмотрите возможность обновления. Версия 1.2 была солидной, но вы упускаете множество новых функций / исправлений.

Примечание. Некоторые люди рекомендуют использовать специфические фрагменты AWS (EC2Snitch, EC2MultiRegionSnitch), но вам нужно, чтобы все узлы в вашем кластере работали на одном фрагменте. Поэтому для развертывания гибридного облака (до того, как у вас появится возможность деформировать локальные узлы), вам нужно придерживаться строчки GossipingPropertyFile. Честно говоря, это единственная стукачка, которую я использую, независимо от провайдера, и с вами это тоже должно получиться.

...