Руководство по переносу данных

Перенос хранилища платформы AggreGate с Cassandra 3 на Cassandra 5

Область применения и применимость

В данной статье представлены рекомендации по переходу хранилища платформы с Cassandra 3.x на Cassandra 5.x при обновлении AggreGate 6.3 до AggreGate 6.4 (или более поздней версии). В ней рассматриваются следующие сценарии:

  • AggreGate 6.3 → 6.4 (или более поздней версии) в Linux с использованием встроенной Cassandra (автоматическое обновление: 3.x → 5.x).

  • AggreGate на Windows с обновлением до версии 6.4 (или более поздней), когда используется встроенная Cassandra (обязательно для заполнения миграция на внешнюю Cassandra).

  • Установки AggreGate, подключенные к внешнему развертыванию Cassandra (автономному или кластерному), где обновляется только AggreGate (Cassandra по-прежнему управляется отдельно).

  • Процедуры и проверки можно применять к средам разработки, тестирования и производства (соответствующим образом скорректируйте окно обслуживания и план выгрузки).

Основные принципы миграции

Обновление на месте невозможно

Apache Cassandra не поддерживает обновления на месте между старшими номерами версий 3 и 5.

В частности:

  • Форматы SSTable несовместимы

  • Изменилась внутренняя структура механизма хранения

  • Метаданные и системные пространства ключей различаются

  • Изменилось поведение уплотнения и индексирования

Попытка повторного использования файлов данных Cassandra 3 в Cassandra 5 приведет к сбою запуска или незаметному повреждению данных.

В данном руководстве рекомендуемый путь зависит от вашей модели развертывания.

Рекомендации по Платформе AggreGate

AggreGate использует Cassandra в качестве базового уровня персистентности для:

  • Исторических значений переменных

  • История событий и подтверждения

  • Статистика и аналитические агрегаты

  • Внутренние системные метаданные, обязательные для заполнения при работе с платформой

В связи с этим:

  • Частичная миграция не получает поддержку

  • Целостность схемы имеет критическое значение

  • Потеря данных может привести к непредсказуемому поведению платформы.

Поддерживаемые модели развертывания

Типы развертывания Cassandra

Модель развертывания

Описание

Встроенная Cassandra

Cassandra входит в состав пакета и подвергается управлению AggreGate

Внешняя Cassandra

Cassandra устанавливается и используется независимо

Ограничения операционной системы

Операционная система

Cassandra 3

Cassandra 5

Linux

Встроенная / Внешняя

Встроенная / Внешняя

Windows

Встроенный / Внешний

Только внешний

Cassandra 5 не может работать в встроенном режиме в Windows.
Любая установка на базе Windows должна быть перенесена на внешнюю версию Cassandra 5.

Обзор стратегии миграции

Все сценарии миграции вручную следуют одному и тому же жизненному циклу:

  1. Контролируемое завершение работы AggreGate Server

  2. Создание моментального снимка в Cassandra 3

  3. Развертывание Cassandra 5

  4. Импорт данных, совместимых со схемой

  5. Проверка конфигурации AggreGate Server

  6. Проверка функциональной целостности и целостности данных

Каждый шаг является обязательным и должен выполняться последовательно.

Контрольный список готовности к миграции

Перед началом миграции убедитесь, что выполнены все перечисленные ниже условия.

Административный доступ

  • Полный доступ к файловой системе в директориях AggreGate

  • Права доступа для остановки/запуска служб

  • Права администратора Cassandra

Обязательные процедуры восстановления

Создание независимых резервных копий с возможностью восстановления:

  • Директории данных Cassandra 3

  • Конфигурация AggreGate Server (conf, configили эквивалент)

  • Пользовательские драйверы, плагины и расширения

  • SSL-сертификатов и хранилищ ключей (если используются)

Миграция без проверенных копий восстановления не поддерживается и является небезопасной.

Совместимость версий

Убедитесь, что:

  • Целевая версия AggreGate явно поддерживает Cassandra 5

  • Ни одно стороннее расширение не зависит от поведения, характерного для Cassandra 3

Процедуры миграции по сценариям

Для установок, использующих внешнее развертывание Cassandra, миграция данных из Cassandra 3.x в 5.x не предусмотрена в рамках обновления AggreGate 6.3 → 6.4. Внешние серверы Cassandra по-прежнему управляются и обновляются отдельно.

Linux: встроенная Cassandra 3 → встроенная Cassandra 5

Для систем Linux, использующих встроенную Cassandra, обновление движка Cassandra выполняется автоматически в рамках обновления AggreGate (6.3 → 6.4 или более поздней версии).

Процедура автоматического обновления (рекомендуется)

  • Сделайте резервную копию директории для установки AggreGate по адресу <AG_HOME> и создайте любые внешние резервные копии, обязательные для заполнения вашей политикой эксплуатации.

  • Обновите AggreGate с версии 6.3 до 6.4 (или более поздней) с помощью стандартной процедуры обновления.

  • Запустите AggreGate Server и убедитесь, что встроенная Cassandra запускается успешно (проверьте журналы сервера) и что доступны исторические данные и хранилище событий.

  • Заполните контрольный список проверки.

Используйте миграцию в ручном режиме на основе моментальных снимков только в том случае, если автоматическое обновление невозможно.

Миграция вручную на основе моментальных снимков

Шаг 1: Корректно остановите AggreGate Server

systemctl stop aggregate

Подтвердите, что:

  • Не осталось никаких Java-процессов AggreGate Server

  • Cassandra осталась доступной для создания моментального снимка

nodetool snapshot требуется запущенный процесс Cassandra. Не останавливайте Cassandra до завершения Шага 2.

Шаг 2: Создание снимков Cassandra 3

Запустите на исходном узле Cassandra 3 (терминал/командная строка) с помощью инструмента nodetool для Cassandra 3, затем выполните:

nodetool snapshot

Эта операция:

  • Создает согласованный моментальный снимок

  • Сохраняет данные во всех пространствах ключей

  • Не прерывает работу Cassandra

Шаг 3: Сохранение данных моментального снимка

Найдите директории снимков, обычно расположенные в:

<AG_HOME>/data/cassandra/data

Скопируйте все дерево каталогов в защищенное хранилище.

После сохранения данных моментальных снимков убедитесь, что процесс Cassandra 3 больше не запущен, прежде чем выполнять обновление программного обеспечения в Шага 4 (чтобы избежать конфликтов во время обновления).

Шаг 4: Обновление программного обеспечения AggreGate

Установите версию AggreGate, включающую встроенную Cassandra 5.

Не используйте старые директории Cassandra.

Шаг 5: Инициализировать компоновку хранения Cassandra 5

Запустите AggreGate Server один раз, чтобы Cassandra 5 могла:

  • Создать системные пространства ключей

  • Инициализировать метаданные схемы

  • подготовить структуру директорий

Затем снова остановите AggreGate Server.

Перед загрузкой данных (шаг 6) убедитесь, что целевая схема Cassandra 5 инициализирована и совместима с входящими данными.

Шаг 6: Загрузка данных моментального снимка в Cassandra 5

С помощью инструментов Cassandra 5 выполните:

sstableloader <snapshot_directory>

Ключевые заметки:

  • Используйте sstableloader инструмент из дистрибутива Cassandra 5

  • При необходимости загружайте по одному ключевому пространству за раз

  • Следите за журналами на наличие предупреждений о схеме или совместимости

Шаг 7: Запустите AggreGate Server

systemctl start aggregate

Перейдите к проверке.

Windows: Встроенная Cassandra 3 → Внешняя Cassandra 5 (обязательно для заполнения перед обновлением AggreGate до версии 6.4)

Этот сценарий необходим для установок Windows.

Шаг 1: Остановите AggreGate Server

Остановите службу Windows или экземпляр приложения.

Шаг 2: Создание снимков Cassandra 3

Запустите на встроенном экземпляре Cassandra 3 (терминал/командная строка) с помощью соответствующего инструмента nodetool для Cassandra 3:

nodetool snapshot

Расположение моментального снимка (Windows):

<AG_HOME>\data\cassandra\data

Шаг 3: Извлечение данных моментального снимка

Скопируйте директории снимков из:

<AG_HOME>\data\cassandra\data

Скопируйте дерево каталогов моментальных снимков в защищенное хранилище.

Шаг 4: Разверните внешнюю Cassandra 5

Установите Cassandra 5 на поддерживаемом хосте.

Убедитесь, что:

  • Стабильная доступность сетевого соединения

  • Правильные адреса прослушивания и широковещательные адреса

  • Достаточные ресурсы дискового пространства и памяти

Шаг 5: Импорт данных

Перед импортом убедитесь, что схема Cassandra 5 инициализирована и совместима с входящими данными (например, запустив целевую версию AggreGate Server один раз на внешней Cassandra или применив требуемую схему с помощью вашего стандартного процесса).

Запустите на хосте Cassandra 5:

sstableloader <snapshot_directory>

Шаг 6: Перенастройте AggreGate Server

Обновите конфигурацию AggreGate Server, чтобы она указывала на внешний экземпляр Cassandra:

  • Хосты

  • Порты

  • Аутентификация (если включена)

  • Настройки центра обработки данных

Шаг 7: Запустите AggreGate Server

Перейдите к проверке.

Проверка после миграции (обязательно)

Проверка инфраструктуры

  • Cassandra сообщает о состоянии UN (Up/Normal)

  • В журналах отсутствуют ошибки несоответствия схем

  • Стабильная задержка соединения

Проверка платформы

Проверить:

  • AggreGate Server запускается без предупреждений базы данных

  • Дерево контекста загружается полностью

  • Инструментальные панели отображаются правильно

  • Доступна история событий

  • Запросы к историческим данным возвращают ожидаемые значения

Функциональная проверка

Тест:

  • Обновление переменных и история

  • Генерация событий и подтверждение

  • Тревоги и правила

  • Отчеты и аналитика

Обработка ошибок и откат

Если миграция завершилась с ошибкой:

  1. Остановите AggreGate Server

  2. Выключите Cassandra 5

  3. Восстановите данные Cassandra 3 из резервной копии

  4. Восстановите исходную версию AggreGate

  5. Перезапустите службы

Выгрузить можно только в том случае, если после миграции в новый экземпляр Cassandra 5 не было осуществлено никаких записей данных.

Заметки по производительности и эксплуатации

  • Для больших наборов данных может потребоваться больше времени на загрузку

  • Загрузка моментальных снимков требует интенсивного использования ЦП и диска

  • В кластерных средах может потребоваться загрузка по отдельным узлам

  • После миграции может автоматически запуститься уплотнение

Вопросы безопасности и соответствия нормативным требованиям

  • Выполняйте миграцию в контролируемое окно обслуживания

  • Обеспечьте совместимость шифрования данных в состоянии покоя

  • Проверьте контроль доступа после миграции

  • Сохраните журналы аудита в процессе миграции

Связанная документация

Сводка

  • Миграция с Cassandra 3 на Cassandra 5 требует явного переноса данных при переходе между отдельными установками Cassandra.
    Для развертываний в Linux с использованием встроенной Cassandra переход с версии 3.x на 5.x выполняется автоматически во время обновления AggreGate с версии 6.3 до 6.4; выполните резервное копирование и проверку.

  • Встроенная Cassandra 5 доступна только для Linux.

  • Системы Windows должны использовать внешнюю версию Cassandra.

  • Для миграции вручную между отдельными установками Cassandra поддерживается метод миграции на основе моментальных снимков.

  • Надлежащая проверка необходима для стабильности Платформы.

Was this page helpful?