От Бен Слейтър , главен продуктов директор, Instaclustr.
Преместване на активно внедряване на Apache Cassandra на ново място? Естествено е да имате някои притеснения, като например как можете да запазите клъстерите на Cassandra 100% достъпни през целия процес. Но факт е, че ако приложението ви е в състояние да остане онлайн по време на промените в настройките на връзката, то може да остане напълно достъпно по време на този преход. За допълнителна защита и спокойствие, следната техника включва и стратегия за бързо връщане назад към първоначалната ви конфигурация до момента, в който миграцията приключи.
Ето препоръчителен ред на операции за мигриране на клъстер Cassandra от седем стъпки, който ще избегне прекъсвания:
1. Подгответе съществуващата си среда.
На първо място, уверете се, че приложението ви използва политика за балансиране на натоварването, осведомена за центъра за данни, както и LOCAL_*. Също така проверете, че всички от ключовите пространства, които ще бъдат копирани в новия клъстер, са настроени да използват NetworkTopologyStrategy като своя стратегия за репликация. Също така се препоръчва всички ключови пространства да използват тази стратегия за репликация, когато са създадени, тъй като промяната на това по-късно може да стане сложна.
2. Създайте новия клъстер.
Сега е време да създадете новия клъстер, към който ще мигрирате. Няколко неща, за които трябва да внимавате тук:Уверете се, че новият клъстер и оригиналният клъстер използват една и съща версия на Cassandra и име на клъстер. Освен това името на новия център за данни, което използвате, трябва да е различно от името на съществуващия център за данни.
3. Присъединете се към клъстерите заедно.
За да направите това, първо направете всички необходими промени в правилата на защитната стена, за да позволите на клъстерите да бъдат присъединени, като помните, че може да са необходими и някои промени в изходния клъстер. След това променете началните възли на новия клъстер - и ги стартирайте. След като това бъде направено, новият клъстер ще бъде втори център за данни в оригиналния клъстер.
4. Променете настройките за репликация.
След това в съществуващия клъстер актуализирайте настройките за репликация за ключовите пространства, които ще бъдат копирани, така че данните вече да се репликират с новия център за данни като местоназначение.
5. Копирайте данните в новия клъстер.
Когато клъстерите се съединят, Касандра ще започне да репликира записи към новия клъстер. Все още е необходимо обаче да копирате всички съществуващи данни с функцията за възстановяване на nodetool. Най-добрата практика е тази функция да се изпълнява на новия клъстер един или два възела наведнъж, за да не се натоварва огромното поточно предаване върху съществуващия клъстер.
6. Промяна на точките за връзка на приложението.
След като всички употреби на функцията за възстановяване са завършени, всеки от клъстерите ще съдържа пълно копие на данните, които се мигрират, които Cassandra ще поддържа автоматично синхронизирани. Сега е време да промените началните точки на свързване на вашето приложение към възлите в новия клъстер. След като това приключи, всички четения и записвания ще бъдат обслужвани от новия клъстер и впоследствие ще бъдат репликирани в оригиналния клъстер. И накрая, интелигентно е да стартирате функция за поправка в клъстера, за да гарантирате, че всички данни са репликирани успешно от оригинала.
7. Изключете оригиналния клъстер.
Завършете процеса с малко почистване след миграция, като премахнете оригиналния клъстер. Първо, променете правилата на защитната стена, за да изключите оригиналния клъстер от новия. След това актуализирайте настройките за репликация в новия клъстер, за да спрете репликацията на данни в оригиналния клъстер. И накрая, изключете оригиналния клъстер.
И ето го:Вашето внедряване на Apache Cassandra е напълно мигрирано, с нулев престой, нисък риск и по начин, напълно безпроблемен и прозрачен от гледна точка на вашите крайни потребители.
За автора
Бен Слейтър е главен продуктов директор в Instaclustr, доставчик на корпоративна, хоствана и напълно управлявана инфраструктура за данни Apache Cassandra с отворен код в облака.