Миграция с Greenplum 6 на Greengage DB 6
В этой статье описывается, как мигрировать существующий кластер Greenplum 6 на Greengage DB 6.
Greengage DB 6.x бинарно совместим с Greenplum 6.x, что означает совместимость скомпилированных бинарных файлов, форматов данных на диске и системных каталогов. Поэтому пересоздавать кластер не требуется. Процесс миграции во многом совпадает с обновлением минорной версии в рамках Greenplum 6.x.
Предварительные требования
Создание бэкапа
Перед началом миграции создайте бэкап кластера Greenplum.
Проверка производительности оборудования
Убедитесь, что аппаратное обеспечение хостов исправно и соответствует системным требованиям Greengage DB. Для оценки производительности системы и проверки соответствия этим требованиям запустите утилиту gpcheckperf.
Проверка таблиц каталога на несогласованности
Проверьте таблицы каталога Greenplum на наличие несоответствий с помощью утилиты gpcheckcat.
Обратите внимание, что перед запуском этой утилиты необходимо запустить кластер Greenplum в ограниченном (restricted) режиме (gpstart -R).
Если утилита gpcheckcat обнаружит несогласованности в системном каталоге, можно запустить ее с параметром -g, чтобы сгенерировать SQL-скрипты для их устранения.
После выполнения сгенерированных SQL-скриптов запустите gpcheckcat повторно.
При необходимости повторите этот процесс несколько раз, чтобы убедиться, что все несогласованности устранены.
Выполняйте сгенерированные SQL-скрипты в периоды низкой нагрузки, поскольку параллельная активность может привести к ложным срабатываниям.
Остановка сервиса PXF
Если в вашей инсталляции Greenplum Database настроен Greenplum Platform Extension Framework (PXF), остановите сервис PXF перед миграцией на Greengage DB. При необходимости создайте бэкап конфигурационных файлов PXF, чтобы сохранить текущие настройки.
Если PXF не настроен, никаких дополнительных действий не требуется.
Миграция с Greenplum на Greengage DB
Процесс миграции кластера Greenplum 6.x на Greengage DB 6.x включает остановку кластера, установку программного обеспечения Greengage DB и последующий запуск кластера.
Остановка кластера
Войдите на мастер-хост Greenplum от имени административного пользователя:
$ sudo su - gpadmin
Выполните безопасную остановку кластера Greenplum Database 6.x. Перед выполнением команды убедитесь, что активные подключения к базе данных отсутствуют:
$ gpstop
Установка Greengage DB
Выполните установку Greengage DB на каждом хосте. Подробности приведены в следующих статьях:
Например, при установке из пакета Greengage DB устанавливается в каталог /opt/greengagedb/greengage6/.
Обновление окружения
После установки Greengage DB обновите переменные окружения пользователя gpadmin на мастер-хосте и резервном мастер-хосте.
Для этого отредактируйте файл профиля пользователя gpadmin, например .bashrc.
Пример изначальной настройки окружения Greenplum:
source /opt/greenplum-db-6/greenplum_path.sh
Пример для Greengage DB:
source /opt/greengagedb/greengage6/greengage_path.sh
Примените изменения в текущей сессии:
$ source ~/.bashrc
Запуск кластера
Войдите на мастер-хост Greengage DB как администратор:
$ sudo su - gpadmin
Запустите кластер:
$ gpstart
Переустановка расширений
После миграции на Greengage DB используйте утилиту gppkg для переустановки ранее установленных расширений Greenplum, таких как PL/Java, PL/R, PostGIS или MADlib.
Кроме того, скопируйте все файлы, необходимые для работы расширений — например, JAR-файлы, общие объекты и библиотеки — из предыдущего каталога установки в новый как на мастер-хосте, так и на сегмент-хостах.
Повторная инициализация PXF
Если PXF был настроен в предыдущей инсталляции Greenplum, может потребоваться установить PXF в Greengage DB и повторно инициализировать или зарегистрировать сервис PXF.
Например, используйте команду pxf cluster register, чтобы скопировать файлы расширения PXF из каталога предыдущей установки в новый каталог Greengage DB на хосте.
Убедитесь, что переменная окружения GPHOME указывает на каталог установки Greengage DB, а не на каталог предыдущей установки Greenplum.
Затем запустите сервис PXF, чтобы он стал доступен для работы с внешними таблицами.
Проверка кластера
После миграции с Greenplum Database на Greengage DB убедитесь, что все функции работают корректно. Например, проверьте успешность операций резервного копирования и восстановления, а также корректность работы возможностей Greengage DB, таких как пользовательские функции и расширения MADlib и PostGIS.
Изменение строки версии сервера
После миграции может потребоваться обновление клиентских приложений, так как строка версии сервера теперь содержит Greengage Database вместо Greenplum Database.
Например, для Greenplum команда SELECT version(); может вернуть:
PostgreSQL 9.4.26 (Greenplum Database 6.23.0+dev.190.gc3e5acdb5b build dev-oss) on x86_64-pc-linux-gnu, compiled by gcc-11 (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0, 64-bit compiled
В СУБД Greengage та же команда может вернуть:
PostgreSQL 9.4.26 (Greengage Database 6.30.1 build commit:56d8146ce049c838caf75bd85df67fe55d9beffc) on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0, 64-bit compiled
Убедитесь, что все скрипты, средства мониторинга и драйверы (например, JDBC, ODBC или libpq), которые обрабатывают строку версии сервера, обновлены для корректной работы с новым названием продукта.