Если при обновлении до Edge 4.54.00 возникнет ошибка, вы можете откатить компонент, вызвавший ее, а затем повторить попытку обновления.
Вы можете выполнить откат Edge 4.54.00 до любой из следующих основных версий:
- Версия 4.53.00
- Версия 4.53.01
Подробнее о процессе выпуска версий Apigee Edge…
Порядок отката
Откат компонентов следует выполнять в порядке, обратном их обновлению. Типичный общий порядок отката для Private Cloud 4.54.00 будет выглядеть следующим образом:
- Откатите Cassandra и Zookeeper.
- Выполните откат Qpid, других компонентов, связанных с аналитикой, и Postgres.
- Как вернуться к предыдущему интерфейсу
- Выполните откат LDAP.
- Откатите сервер управления.
- Выполните откат маршрутизаторов и процессоров сообщений.
Например, вы обновили все маршрутизаторы и процессоры сообщений, все серверы управления, LDAP и несколько узлов пользовательского интерфейса до версии 4.54.00 с версии 4.53.00 (или) 4.53.01 и хотите выполнить откат. В этом случае вы:
- Как выполнить откат узлов обновленного интерфейса
- Откат узлов LDAP
- Как поочередно откатить узлы сервера управления
- Откатите все пакеты RMP по очереди.
Кто может выполнить откат
Пользователь, выполняющий откат, должен быть тем же, кто изначально обновил Edge, или пользователем с правами root.
По умолчанию компоненты Edge работают от имени пользователя apigee. В некоторых случаях компоненты Edge могут запускаться от имени разных пользователей. Например, если маршрутизатору нужно получить доступ к привилегированным портам, таким как порты ниже 1000, то маршрутизатор должен быть запущен от имени пользователя root или пользователя с доступом к этим портам. или запускать разные компоненты от имени разных пользователей.
Как выполнить откат Cassandra
При выполнении крупного обновления Cassandra на определенном узле Cassandra изменяет схему данных, хранящихся на этом узле. Поэтому прямой откат на месте невозможен.
Сценарии отката
В таблице ниже приведены стратегии отката, которые вы можете использовать.
| Сценарий | Стратегия отката |
|---|---|
| Один ЦОД, некоторые узлы Cassandra обновлены | Как использовать резервные копии |
| Несколько центров обработки данных, некоторые узлы в одном из них обновлены | Восстановление из существующего контроллера домена |
| Несколько ЦОД, все узлы Cassandra в некоторых ЦОД обновлены | Восстановление из существующего контроллера домена |
| Несколько центров обработки данных, узлы Cassandra последнего центра обработки данных обновляются | Попробуйте завершить обновление. Если это невозможно, восстановите один контроллер домена из резервной копии. Перестройте оставшиеся контроллеры домена из восстановленного контроллера домена. |
Общие положения
Принимая решение об откате, учитывайте следующее:
- Откат Cassandra во время обновления Cassandra. Если во время обновления Cassandra у вас возникнут проблемы, вы можете выполнить откат. Следуйте стратегиям отката, описанным в этой статье, в зависимости от вашего состояния в процессе обновления.
- Выполните откат с помощью резервных копий. Резервные копии, созданные в Cassandra 5.0.X, несовместимы с резервными копиями Cassandra 4.0.X. Чтобы выполнить откат Cassandra с помощью восстановления резервной копии, необходимо создать резервные копии Cassandra 4.0.X до попытки обновления.
Как выполнить откат Cassandra с помощью перестроения
Требования
- Вы используете кластер Edge для Private Cloud 4.53.00/4.53.01 в нескольких центрах обработки данных.
- Вы обновляете Cassandra с версии 4.0.X до 5.0.X и столкнулись с проблемами.
- У вас есть по крайней мере один полностью функционирующий центр обработки данных в кластере, в котором по-прежнему работает более старая версия Cassandra (Cassandra 4.0.X).
Эта процедура основана на потоковой передаче данных из существующего центра обработки данных. Это может занять значительное время в зависимости от объема данных, хранящихся в Cassandra. Вы должны быть готовы перенаправить трафик среды выполнения из этого центра обработки данных на время отката.
Общая последовательность действий
- Выберите центр обработки данных (частично или полностью обновленный), который вы хотите откатить. Перенаправить трафик времени выполнения в другой работающий центр обработки данных.
- Определите начальный узел в центре обработки данных и начните с одного из начальных узлов.
- Остановите, удалите и очистите узел Cassandra.
- Установите на узел более старую версию Cassandra и настройте ее.
- Удалите лишние конфигурации, добавленные ранее.
- Повторите описанные выше шаги для всех начальных узлов в центре обработки данных по одному.
- Повторите описанные выше действия для всех оставшихся узлов Cassandra в центре обработки данных.
- Восстановите узлы из существующего функционального центра обработки данных по одному.
- Перезапустите все компоненты edge-* в центре обработки данных, подключенные к Cassandra.
- Протестируйте и перенаправьте трафик обратно в этот центр обработки данных.
- Повторите эти действия для каждого центра обработки данных.
Подробные инструкции
-
Выберите один центр обработки данных, в котором будут обновлены все или некоторые узлы Cassandra. Перенаправьте весь трафик прокси-сервера времени выполнения и трафик управления из этого центра обработки данных, пока выполняется откат узлов Cassandra в этом центре обработки данных.
Убедитесь, что все узлы Cassandra находятся в состоянии UN (Up/Normal), когда на них выполняется команда
nodetool ring. Если некоторые узлы не работают, устраните неполадки и запустите их, прежде чем продолжить.Изучите пример ниже.
/opt/apigee/apigee-cassandra/bin/nodetool statusDatacenter: dc-1 ================ Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN DC1-1IP1 456.41 KiB 1 100.0% 78fc4ddd-2ed9-4a8c-98a2-63a38c2f1920 ra-1 UN DC1-1IP2 870.93 KiB 1 100.0% 160db01a-64ab-43a7-b9ea-3b7f8f66d52b ra-1 UN DC1-1IP3 824.08 KiB 1 100.0% 21d61543-d59e-403a-bf5d-bfe7f664baa6 ra-1 Datacenter: dc-2 ================ Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN DC2-1IP1 802.08 KiB 1 100.0% 583e0576-336d-4ce7-9729-2ae74e0abde2 ra-1 UN DC2-1IP2 844.4 KiB 1 100.0% fef794d5-f4c2-4a4e-bb05-9adaeb4aea4b ra-1 UN DC2-1IP3 878.12 KiB 1 100.0% 3894b3d9-1f5a-444d-83db-7b1e338bbfc9 ra-1Вы можете запустить
nodetool describeclusterна узлах, чтобы понять текущее состояние всего кластера. Например, ниже показан экземпляр кластера с двумя центрами обработки данных, где все узлы DC-1 работают на Cassandra версии 4, а все узлы DC-2 – на Cassandra версии 3:# On nodes where Cassandra is upgraded
/opt/apigee/apigee-cassandra/bin/nodetool describeclusterCluster Information: Name: Apigee Snitch: org.apache.cassandra.locator.PropertyFileSnitch DynamicEndPointSnitch: enabled Partitioner: org.apache.cassandra.dht.RandomPartitioner Schema versions: 2eadcd74-0245-309a-9992-3625afa70038: [DC-1-IP1, DC-1-IP2, DC-1-IP3] 129dc15e-198e-3c11-b64c-701044a3a1ad: [DC-2-IP1, DC-2-IP2, DC-2-IP3] Stats for all nodes: Live: 6 Joining: 0 Moving: 0 Leaving: 0 Unreachable: 0 Data Centers: dc-1 #Nodes: 3 #Down: 0 dc-2 #Nodes: 3 #Down: 0 Database versions: 5.0.8: [DC-1-IP1:7000, DC-1-IP2:7000, DC-1-IP3:7000] 4.0.13: [DC-2-IP1:7000, DC-2-IP2:7000, DC-2-IP3:7000] Keyspaces: system_schema -> Replication class: LocalStrategy {} system -> Replication class: LocalStrategy {} auth -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} cache -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} devconnect -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} dek -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} user_settings -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} apprepo -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} kms -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} identityzone -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} audit -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} analytics -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} keyvaluemap -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} counter -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} apimodel_v2 -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} system_distributed -> Replication class: SimpleStrategy {replication_factor=3} system_traces -> Replication class: SimpleStrategy {replication_factor=2} system_auth -> Replication class: SimpleStrategy {replication_factor=1} # On nodes where Cassandra is not upgraded/opt/apigee/apigee-cassandra/bin/nodetool describeclusterCluster Information: Name: Apigee Snitch: org.apache.cassandra.locator.PropertyFileSnitch DynamicEndPointSnitch: enabled Partitioner: org.apache.cassandra.dht.RandomPartitioner Schema versions: 2eadcd74-0245-309a-9992-3625afa70038: [DC-1-IP1, DC-1-IP2, DC-1-IP3] 129dc15e-198e-3c11-b64c-701044a3a1ad: [DC-2-IP1, DC-2-IP2, DC-2-IP3] - Определите начальные узлы в центре обработки данных. Инструкции приведены в разделе Как определить начальные узлы в приложении. Выполните следующие шаги на одном из начальных узлов:
- Остановите, удалите и очистите данные из узла Cassandra.
Выберите первый узел начального значения в Cassandra версии 5 в этом центре обработки данных. Прекрати.
# Stop Cassandra service on the node
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop# Uninstall Cassandra software/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall# Wipe out Cassandra datarm -rf /opt/apigee/data/apigee-cassandra - Установите на узел более старую версию Cassandra и задайте некоторые настройки. Выполните файл начальной загрузки Edge для Private Cloud 4.53.00/4.53.01.
- Создайте или измените файл
/opt/apigee/customer/application/cassandra.properties. - Добавьте в файл следующий код:
ipOfNode– это IP-адрес узла, который Cassandra использует для связи с другими узлами Cassandra.conf_jvm_options_custom_settings=-Dcassandra.replace_address=ipOfNode -Dcassandra.allow_unsafe_replace=true
- Убедитесь, что файл принадлежит пользователю apigee и доступен ему для чтения:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- Установите и настройте Cassandra:
- Убедитесь, что узел запущен. Выполните следующую команду на этом узле и других узлах кластера. Узел должен сообщать, что находится в состоянии "UN" (Up/Normal – Включено/Нормально):
/opt/apigee/apigee-cassandra/bin/nodetool status
- Удалите из файла
/opt/apigee/customer/application/cassandra.propertiesлишние конфигурации, добавленные ранее. - Повторите шаги 3–10 на всех узлах Cassandra в центре обработки данных по очереди.
- Повторите шаги 3–10 для всех остальных узлов Cassandra в центре обработки данных.
- Перестройте все узлы в центре обработки данных из центра обработки данных, в котором используется более старая версия Cassandra. Выполните этот шаг поочередно для каждого узла:
/opt/apigee/apigee-cassandra/bin/nodetool rebuild -dc <name of working DC>
Это может занять некоторое время. При необходимости вы можете изменить
streamingthroughput. Проверьте статус завершения операции вnodetool netstats. - (Необязательно) Если данные не восстанавливаются, выполните команду восстановления в узле Cassandra.
/opt/apigee/apigee-cassandra/bin/nodetool -h node-IP repair -pr
- Поочередно перезапустите все компоненты edge-* в центре обработки данных:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart /opt/apigee/apigee-service/bin/apigee-service edge-router restart /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Проверьте и перенаправьте трафик обратно в этот центр обработки данных. Выполните некоторые проверки для трафика времени выполнения и API управления в этом центре обработки данных и начните перенаправлять трафик прокси-сервера и API управления обратно в него.
- Повторите описанные выше действия для каждого центра обработки данных, который нужно откатить.
# Download bootstrap of 4.53.00curl https://software.apigee.com/bootstrap_4.53.00.sh -o /tmp/bootstrap_4.53.00.sh -u uName:pWord# Execute bootstrap of 4.53.00sudo bash /tmp/bootstrap_4.53.00.sh apigeeuser=uName apigeepassword=pWord
# Install cassandra version 4.0.X/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra install# Setup cassandra while passing standard configuration file/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f configFile# Ensure Cassandra version is correct and service is running/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra version /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra status
Откат Cassandra с помощью резервной копии
Требования
- Вы обновляете Cassandra с версии 4.0.X до 5.0.X и столкнулись с проблемами.
- У вас есть резервные копии для узла, который вы откатываете. Резервная копия была создана до попытки обновления с версии 4.0.X до 5.0.X.
Шаги
Выберите узел, который нужно откатить. Если вы откатываете все узлы в центре обработки данных с помощью резервных копий, начните с начальных узлов. Информацию о том, как определить корневые узлы, можно найти в разделе Как определить корневые узлы приложения.
Остановите, удалите и очистите узел Cassandra:
# Stop Cassandra service on the node
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop# Uninstall Cassandra software/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall# Wipe Cassandra datarm -rf /opt/apigee/data/apigee-cassandraУстановите на узел более старую версию программного обеспечения Cassandra и настройте ее:
- Выполните файл начальной загрузки для Edge for Private Cloud 4.53.00/4.53.01:
- Создайте или измените файл
/opt/apigee/customer/application/cassandra.properties: - Убедитесь, что файл принадлежит пользователю apigee и доступен для чтения:
- Установите и настройте Cassandra:
# Download bootstrap for 4.53.00
curl https://software.apigee.com/bootstrap_4.53.00.sh -o /tmp/bootstrap_4.53.00.sh -u uName:pWord# Execute bootstrap for 4.53.00sudo bash /tmp/bootstrap_4.53.00.sh apigeeuser=uName apigeepassword=pWordconf_jvm_options_custom_settings=-Dcassandra.replace_address=ipOfNode -Dcassandra.allow_unsafe_replace=true
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
# Install Cassandra version 4.0.X
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra install# Set up Cassandra with the standard configuration file/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f configFile# Verify Cassandra version and check service status/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra version/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra statusУбедитесь, что узел запущен. Проверьте следующую команду на этом и других узлах кластера. Узлы должны сообщать, что узел находится в состоянии "UN":
/opt/apigee/apigee-cassandra/bin/nodetool status
Остановите сервис Cassandra и восстановите резервную копию. Дополнительную информацию можно найти в документации по резервному копированию и восстановлению:
# Stop Cassandra service on the node
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop# Wipe the data directory in preparation for restorerm -rf /opt/apigee/data/apigee-cassandra/data# Restore the backup taken before the upgrade attempt/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backupFileПосле восстановления резервной копии удалите дополнительные конфигурации:
Удалите из файла
/opt/apigee/customer/application/cassandra.propertiesдобавленную ранее конфигурацию.Запустите сервис Cassandra на узле:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
Повторите эти действия для каждого узла Cassandra, который вы хотите восстановить из резервной копии.
После восстановления всех узлов Cassandra перезапустите все компоненты edge-* по одному:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart /opt/apigee/apigee-service/bin/apigee-service edge-router restart /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
Оптимизация резервного копирования (расширенная настройка)
Если у вас есть реплики с последними данными, вы можете минимизировать или полностью исключить потерю данных при восстановлении резервных копий. Если реплики доступны, после восстановления резервной копии запустите восстановление на узле, который был восстановлен.
Приложение
Как определить начальные узлы
На любом узле Cassandra в центре обработки данных выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure -search conf_cassandra_seeds
Команда выведет несколько строк. Посмотрите на последнюю строку вывода. IP-адреса, указанные в последней строке, – это узлы инициализации. В приведенном ниже примере DC-1-IP1, DC-1-IP2, DC-2-IP1 и DC-2-IP2 – это IP-адреса начальных узлов:
Found key conf_cassandra_seeds, with value, "127.0.0.1", in /opt/apigee/apigee-cassandra/token/default.properties Found key conf_cassandra_seeds, with value, 127.0.0.1, in /opt/apigee/apigee-cassandra/token/application/cassandra.properties Found key conf_cassandra_seeds, with value, "DC-1-IP1, DC-1-IP2, DC-2-IP1, DC-2-IP2", in /opt/apigee/token/application/cassandra.properties apigee-configutil: apigee-cassandra: # OK
Откат ZooKeeper
Откат
Если вам потребуется выполнить откат:
- Сначала выполните откат на наблюдателях и подписчиках. Информацию о том, как выбрать наблюдателей и подписчиков, можно найти в статье Как определить лидера, подписчиков и наблюдателей.
- Скачайте и запустите загрузчик версии, на которую вы хотите вернуться (4.53.00 или 4.53.01). Процесс может различаться в зависимости от того, есть ли у узла внешнее подключение к интернету или вы выполняете офлайн-установку.
- Остановите Zookeeper, если он запущен на узле:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop
- Удалите существующий ZooKeeper:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper uninstall
- Установите Zookeeper как обычно:
/opt/apigee/apigee-setup/bin/setup.sh -p zk -f <silent-config-file>
- После отката всех ведомых и наблюдающих узлов выполните откат ведущего узла, следуя шагам 2–5 на ведущем узле.
- После отката всех узлов проверьте состояние кластера и убедитесь, что в нем есть ведущий узел.
Восстановление из резервной копии
Подробнее о том, как восстановить данные из резервной копии…
Как выполнить откат Qpid
Чтобы выполнить откат до предыдущего выпуска, скачайте файл bootstrap.sh для нужной версии. Чтобы выполнить откат до версии 4.53.00/4.53.01, скачайте bootstrap_4.53.00.sh.
Чтобы выполнить откат Qpid, выполните следующие действия на всех хостах Qpid:
- Остановите существующий брокер Qpid:
apigee-service apigee-qpidd stop
- Заблокируйте входящий трафик на порт брокера 5672 от всех процессоров сообщений, применив брандмауэр. Вы можете применить этот брандмауэр на уровне экземпляра узла Qpid или другого внешнего брандмауэра/сетевого компонента.
Рекомендуем выполнить то же действие для всех IP-адресов обработчиков сообщений. Например, чтобы с помощью IPTables отклонять запросы, поступающие с IP-адресов Message Processor на узел Qpid через порт 5672, можно использовать следующую команду:
iptables -A INPUT -p tcp --dport 5672 -s MESSAGE_PROCESSOR_IP -j DROP
- Запустите брокер Qpid снова, чтобы удалить существующие сообщения, если они есть:
apigee-service apigee-qpidd start
- Убедитесь, что существующие очереди пусты. Чтобы проверить, войдите на портал управления Qpid:
http://QPID_NODE_IP:8090
- Убедившись, что очереди очищены, остановите и удалите Qpid:
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
- Удалите каталог данных Qpid:
rm -r APIGEE_ROOT/data/apigee-qpidd
- Переустановите брокер Qpid:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
- После переустановки брокера Qpid удалите настройки брандмауэра и выведите список существующих настроек с помощью следующих команд:
iptables -F iptables -L
Откат Postgres
Чтобы перейти с версии 4.54.00 на версию 4.53.00/4.53.01, необходимо откатить обновление Postgres в дополнение к компонентам Edge.
Чтобы откатить обновление Postgres при обновлении Postgres в конфигурации "основной-резервный":
- Сделайте новый резервный узел основным узлом Postgres. Новый основной сервер Postgres будет той же версии, что и предыдущая установка Edge.
- Настройте старый резервный узел в качестве резервного узла нового главного узла. Старый резервный узел будет той же версии, что и предыдущая установка Edge.
- Зарегистрируйте новый основной и резервный узлы в группах аналитики и потребителей.
После завершения отката старый главный узел больше не понадобится. После этого вы можете вывести из эксплуатации старый главный узел.
Подготовка
Прежде чем выполнять откат Postgres 18 до 17/14, выполните следующие действия на новом и старом резервных хостах, чтобы обновить свойство max_locks_per_transaction в apigee-postgresql:
- Если файла
/opt/apigee/customer/application/postgresql.propertiesнет, создайте его. - Передайте право собственности на этот файл пользователю apigee:
sudo chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
- Добавьте в файл следующее свойство:
conf/postgresql.conf+max_locks_per_transaction=30000
- Настройте apigee-postgresql:
apigee-service apigee-postgresql configure
- Перезапустите apigee-postgresql:
apigee-service apigee-postgresql restart
Подробная процедура отката
- Убедитесь, что новый резервный узел Postgres работает:
/opt/apigee/apigee-service/bin/apigee-all status
Если Postgres не запущен, запустите его:
/opt/apigee/apigee-service/bin/apigee-all start
- Убедитесь, что Postgres остановлен на старом главном узле и старом резервном узле:
/opt/apigee/apigee-service/bin/apigee-all status
Если Postgres работает, остановите его:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Если он установлен, запустите Qpid на старом резервном узле:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- Сделайте новый резервный узел основным узлом Postgres:
- Сделайте новый резервный узел новым основным узлом:
apigee-service apigee-postgresql promote-standby-to-master old_master_IP
При необходимости введите пароль Postgres для пользователя apigee. По умолчанию это postgres.
- В файле конфигурации, который вы использовали для установки текущей версии Edge, укажите следующее:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Настройте новый главный экземпляр:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- Сделайте новый резервный узел новым основным узлом:
- Если вы уже обновили старый резервный узел до более новой версии, сначала необходимо понизить версию ПО Apigee на старом резервном узле. Если на старом резервном узле по-прежнему установлена старая версия, пропустите этот шаг и перейдите к шагу 6.
- Остановите Postgres на старом резервном узле:
apigee-service apigee-postgresql stop apigee-service edge-postgres-server stop
- Удалите Postgres со старого резервного узла:
apigee-service apigee-postgresql uninstall apigee-service edge-postgres-server uninstall apigee-service edge-analytics uninstall
- Удалите каталог данных Postgres со старого резервного узла:
cd /opt/apigee/data/apigee-postgresql/pgdata rm -rf *
- Скачайте и запустите начальную загрузку старой версии (для версии Apigee, к которой вы откатываетесь) на старом резервном узле. Точные шаги могут различаться в зависимости от того, используете ли вы онлайн- или офлайн-установку. При запуске старой версии начальной загрузки Apigee будут настроены репозитории yum со старой версией данных Apigee.
- Настройте компоненты Postgres на старом резервном узле:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
- Убедитесь, что компоненты Postgres на старом резервном узле были возвращены к предыдущей версии:
apigee-service apigee-postgresql version apigee-service edge-postgres-server version
- Остановите Postgres на старом резервном узле:
- Восстановите старый резервный узел:
- Измените файл конфигурации, который вы использовали для установки текущей версии Edge, чтобы указать следующее:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Удалите каталог данных на старом резервном узле:
cd /opt/apigee/data/apigee-postgresql/pgdata rm -rf *
- Перенастройте старый резервный узел, чтобы он стал резервным узлом нового главного узла:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Убедитесь, что Postgres работает на старом резервном узле:
/opt/apigee/apigee-service/bin/apigee-all status
Если Postgres не запущен, запустите его:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
- Измените файл конфигурации, который вы использовали для установки текущей версии Edge, чтобы указать следующее:
- Убедитесь, что новый резервный узел добавлен, просмотрев файл
/opt/apigee/apigee-postgresql/conf/pg_hba.confна новом основном узле. - Чтобы посмотреть текущую информацию об аналитике и группе потребителей, выполните на сервере управления следующую команду:
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Эта команда возвращает название группы аналитики в поле
nameи название группы потребителей в полеnameв разделеconsumer-groups. Она также возвращает UUID старых главного и резервного узлов Postgres в поляхpostgres-serverиdatastores. Вы должны увидеть выходные данные в следующем формате:{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test", "sgilson~prod" ], "uuids" : { "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ], "postgres-server" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ], "datastores" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ], "properties" : { } } ], "data-processors" : { } } - Получите UUID старого основного узла, выполнив следующую команду
curlна старом основном узле:curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self
В конце выходных данных должен быть указан UUID узла в следующем формате:
"type" : [ "postgres-server" ], "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
- Повторите предыдущий шаг, чтобы получить IP-адреса старого резервного узла и нового основного узла.
- Удалите старые главный и резервный узлы из группы потребителей:
curl -u sysAdminEmail:password -X DELETE \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v
где axgroup-001 и consumer-group-001 – названия групп аналитики и потребителей по умолчанию. masterUUID,standbyUUID в том же порядке, в котором они были представлены выше при просмотре текущей аналитики и информации о группе потребителей. Возможно, вам придется указать их как standbyUUID,masterUUID.
Свойство
datastoresдляconsumer-groupsтеперь должно быть пустым. - Удалите старые основной и резервный узлы из группы аналитики:
curl -u sysAdminEmail:password -X DELETE \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
Свойство
postgres-serverв разделеuuidsдолжно быть пустым. - Зарегистрируйте новые основной и резервный узлы PG в группах аналитики и потребителей:
curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
- Проверьте группу аналитики:
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Вы должны увидеть UUID новых основных и резервных узлов, перечисленных в группе аналитики и группе потребителей.
- Перезапустите сервер управления Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Перезапустите все серверы Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Перезапустите все серверы Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Проверьте статус репликации, выполнив следующие скрипты на обоих серверах. Если репликация прошла успешно, на обоих серверах должны отображаться одинаковые результаты.
На новом основном сервере выполните следующие действия:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Убедитесь, что это основной сервер. На старом резервном узле выполните следующую команду:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Убедитесь, что это резервный экземпляр.
- Повторите предыдущий шаг после выполнения нескольких запросов к API, чтобы убедиться, что узлы синхронизированы.
- Выведите из эксплуатации старый главный узел Postgres.
Также можно удалить Qpid с прежнего основного узла и установить Qpid на новом основном узле. После удаления Qpid вы можете вывести из эксплуатации старый главный узел.
Откатить новый интерфейс Edge
В Apigee Edge для частного облака 4.54.00 классический интерфейс (edge-ui) заменен на новый интерфейс Edge (edge-management-ui). Поскольку в версии 4.54.00 компонент интерфейса изменился, для отката к версии 4.53.00 или 4.53.01 необходимо удалить edge-management-ui и переустановить предыдущий профиль интерфейса.
- Классический интерфейс (
edge-ui). Переустановите профильui. - Новый интерфейс Edge (
edge-uiиedge-management-ui). Переустановите профилиuiиueв соответствующих узлах.
Чтобы откатить интерфейс на узле:
- Остановите и удалите New Edge UI версии 4.54.00, а затем установите предыдущую версию, чтобы выполнить откат:
- Остановите и удалите New Edge UI версии 4.54.00 (
edge-management-ui):/opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop /opt/apigee/apigee-service/bin/apigee-service edge-management-ui uninstall /opt/apigee/apigee-service/bin/apigee-service edge-management-ui-static uninstall
- Выполните файл начальной загрузки для Apigee Edge для Private Cloud 4.53.00/4.53.01:
# Download bootstrap for 4.53.00 curl https://software.apigee.com/bootstrap_4.53.00.sh -o /tmp/bootstrap_4.53.00.sh -u uName:pWord # Execute bootstrap for 4.53.00 sudo bash /tmp/bootstrap_4.53.00.sh apigeeuser=uName apigeepassword=pWord
- Откат
apigee-setupс версии 4.54.00 до предыдущей:# Uninstall apigee-setup /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall # Install apigee-setup /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Остановите и удалите New Edge UI версии 4.54.00 (
- Как восстановить конфигурации интерфейса версий 4.53.00 и 4.53.01
- Если вы создали резервную копию файла конфигурации для автоматической установки из версии 4.53.00 или 4.53.01, используйте ее для отката. В противном случае в файле конфигурации версии 4.54.00 восстановите или раскомментируйте свойства интерфейса версии 4.53.00 или 4.53.01, которые были удалены или закомментированы во время обновления. Подробнее об обновлении интерфейса…
- Если файл
/opt/apigee/customer/application/ui.propertiesбыл удален во время обновления, восстановите его из каталога резервных копий:cp -rf /opt/apigee/backup/ui/customer/application/ui.properties /opt/apigee/customer/application/ chown apigee:apigee /opt/apigee/customer/application/ui.properties
- Как переустановить и настроить предыдущую версию интерфейса
- Вернуться к классическому интерфейсу (
edge-ui):- Установите и настройте классический интерфейс (для базовой аутентификации дополнительные действия не требуются):
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
- Если SSO включена, настройте SSO в классическом интерфейсе (сначала убедитесь, что выполняется
apigee-sso):/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f configFile
- Установите и настройте классический интерфейс (для базовой аутентификации дополнительные действия не требуются):
- Как вернуться к версии 4.53.00 или 4.53.01 нового интерфейса Edge
(
edge-management-uiи Shoehornedge-ui)- Убедитесь, что в файле конфигурации без вывода сообщений задан параметр
EDGEUI_ENABLE_UNIFIED_UI=y, а затем установите и настройте профилиuiиue:/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile /opt/apigee/apigee-setup/bin/setup.sh -p ue -f configFile
- Если система единого входа включена, настройте ее для обоих компонентов пользовательского интерфейса (сначала убедитесь, что
apigee-ssoработает):/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f configFile /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f configFile
- Убедитесь, что в файле конфигурации без вывода сообщений задан параметр
- Вернуться к классическому интерфейсу (
- Проверьте статус и версию интерфейса после отката:
- Для классического интерфейса (
edge-ui):/opt/apigee/apigee-service/bin/apigee-service edge-ui status /opt/apigee/apigee-service/bin/apigee-service edge-ui version
- Для нового интерфейса Edge (
edge-management-ui):/opt/apigee/apigee-service/bin/apigee-service edge-management-ui status /opt/apigee/apigee-service/bin/apigee-service edge-management-ui version
- Для классического интерфейса (
Откат OpenLDAP
В этом разделе приведены пошаговые инструкции по откату Symas OpenLDAP 2.6.10 в Edge for Private Cloud 4.54.00 до OpenLDAP 2.4.46 (Edge for Private Cloud 4.53.00) или Symas OpenLDAP 2.6.7 (Edge for Private Cloud 4.53.01). Откат необходимо выполнить для всего кластера LDAP, используя действительную резервную копию LDAP, созданную до обновления.
Основная цель – вернуть весь кластер LDAP в согласованное состояние из заведомо исправной резервной копии. Эта процедура одинакова для всех сценариев: с одним сервером, с двумя активными серверами и с активным и пассивным серверами.
Подготовка
- Несовместимость резервной копии. Используйте резервную копию, созданную до обновления OpenLDAP 2.4.46 (Edge для Private Cloud 4.53.00) или Symas OpenLDAP 2.6.7 (Edge для Private Cloud 4.53.01) с помощью
apigee-service apigee-openldap backupдо попытки обновления. Резервные копии, созданные после обновления, несовместимы и не могут быть использованы. - Недоступность Management API. Во время отката LDAP Management API будет недоступен, что может повлиять на выполнение административных задач. Прежде чем выполнять откат LDAP, закройте все экземпляры
edge-management-serverиedge-ui. - Риск потери данных. Если продолжить без совместимой резервной копии, данные могут быть безвозвратно утеряны.
- Действительная резервная копия. Требуется действительная резервная копия LDAP, созданная до обновления.
- Резервные копии файлов
silent.conf. Сохраните резервные копии файловsilent.confиз предыдущей и текущей версий, чтобы избежать путаницы в конфигурации при обновлении и откате. - Последовательность отката. Прежде чем выполнять откат OpenLDAP, выполните процедуры отката для Cassandra, ZooKeeper, Qpid, PostgreSQL,
apigee-ssoи Edge UI.
Процедура отката
- Остановите сервер управления и интерфейс. Прежде чем откатывать LDAP, остановите все экземпляры
edge-management-serverиedge-ui.apigee-service edge-management-server stop apigee-service edge-ui stop
- Запишите текущее количество записей LDAP (до остановки LDAP). Получите общее количество записей для справки со всех серверов LDAP, заменив
YOUR_PASSWORDтекущим паролем менеджера LDAP. (Количество записей должно быть одинаковым на всех серверах LDAP.)# Note: Replace 'YOUR_PASSWORD' with your current LDAP manager password. ldapsearch -o ldif-wrap=no -b "dc=apigee,dc=com" -D "cn=manager,dc=apigee,dc=com" -H ldap://:10389 -LLL -x -w 'YOUR_PASSWORD' | wc -l
- Остановите и удалите новую версию LDAP 2.6. Остановите сервис
apigee-openldapи удалите его конфигурацию и каталоги данных. Выполните этот шаг на всех серверах LDAP, по одному узлу в кластере за раз, чтобы обеспечить согласованность:apigee-service apigee-openldap stop apigee-service apigee-openldap uninstall rm -rf /opt/apigee/data/apigee-openldap/*
- Установите предыдущую версию LDAP – 2.4.46 или 2.6.7:
- Установите старую версию LDAP:
/opt/apigee/apigee-setup/bin/setup.sh -p ld -f /opt/silent.conf
- Проверьте версию LDAP:
source ~/.bash_profile ldapsearch -VV # Expected output if rolled back to 4.53.00: ldapsearch: @(#) $OpenLDAP: ldapsearch 2.4.46 # Expected output if rolled back to 4.53.01: ldapsearch: @(#) $OpenLDAP: ldapsearch 2.6.7
- Повторите описанные выше действия для каждого узла LDAP по очереди.
- Установите старую версию LDAP:
- Удалите остаточные данные. На всех серверах LDAP по очереди остановите только что установленный сервис и очистите его каталог данных, чтобы подготовиться к восстановлению из резервной копии.
apigee-service apigee-openldap stop rm -rf /opt/apigee/data/apigee-openldap/*
- Восстановите данные LDAP. Если у вас один сервер, перейдите к шагу 6б. Если у вас несколько серверов, перейдите к шагу 6а.
- Определите активный сервер LDAP. Перед восстановлением данных LDAP определите активный сервер (поставщика), выполнив следующую команду:
grep -i '^olcSyncrepl:' /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase*.ldif
- Восстановите данные LDAP (перед этим убедитесь, что шаг 5 выполнен на всех серверах):
- На единственном или активном сервере LDAP (определенном на шаге 6а) перейдите в каталог резервных копий и восстановите резервную копию, созданную до обновления (например,
2025.07.28,13.59.00, или опустите временную метку, если резервная копия, созданная до обновления, является последней резервной копией в каталоге):cd /opt/apigee/backup/openldap # To restore a specific backup, provide the timestamp as shown below: apigee-service apigee-openldap restore 2025.07.28,13.59.00 # Note: If no timestamp is provided, the latest available backup will be restored by default: apigee-service apigee-openldap restore # It is recommended to specify the backup explicitly to avoid restoring an unintended version.
- Запустите сервис
apigee-openldap:apigee-service apigee-openldap start
- На единственном или активном сервере LDAP (определенном на шаге 6а) перейдите в каталог резервных копий и восстановите резервную копию, созданную до обновления (например,
- Определите активный сервер LDAP. Перед восстановлением данных LDAP определите активный сервер (поставщика), выполнив следующую команду:
- Запустите остальные серверы LDAP. Если у вас несколько серверов LDAP, запустите сервис на каждом из них:
apigee-service apigee-openldap start
- Окончательная проверка:
- Убедитесь, что откат выполнен успешно и данные согласованы во всем кластере LDAP.
- Выполните команду проверки на всех серверах LDAP, заменив
YOUR_PASSWORDтекущим паролем администратора LDAP. Количество записей должно быть одинаковым на всех серверах и соответствовать количеству, полученному на шаге 2:# Note: Replace 'YOUR_PASSWORD' with your current LDAP manager password. ldapsearch -o ldif-wrap=no -b "dc=apigee,dc=com" -D "cn=manager,dc=apigee,dc=com" -H ldap://:10389 -LLL -x -w 'YOUR_PASSWORD' | wc -l
- Убедившись, что данные верны и согласованы, запустите
edge-management-server,edge-uiи другие зависимые компоненты в соответствии со стандартной процедурой вашей организации.
Как выполнить откат компонентов Edge
Компоненты с общим кодом
Указанные ниже компоненты Edge используют общий код. Поэтому, чтобы откатить любой из этих компонентов на узле, необходимо откатить все компоненты, которые находятся на этом узле:
edge-management-server(сервер управления)edge-message-processor(Message Processor)edge-router(маршрутизатор)edge-postgres-server(сервер Postgres)edge-qpid-server(сервер Qpid)
Например, если на узле установлены Management Server, Router и Message Processor, то для отката любого из них необходимо выполнить откат всех трех.
Чтобы выполнить откат до предыдущего основного или дополнительного выпуска, выполните следующие действия на каждом узле, на котором размещен компонент:
-
Скачайте файл
bootstrap.shдля версии, к которой хотите вернуться:- Чтобы вернуться к версии 4.53.00/4.53.01, скачайте
bootstrap_4.53.00.sh/bootstrap_4.53.01.sh
- Чтобы вернуться к версии 4.53.00/4.53.01, скачайте
- Остановите компонент, чтобы выполнить откат:
- Чтобы откатить любой из компонентов с общим кодом на узле, необходимо остановить их все, как показано в следующем примере:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server stop /opt/apigee/apigee-service/bin/apigee-service edge-router stop /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
- Чтобы выполнить откат другого компонента на узле, остановите только этот компонент:
/opt/apigee/apigee-service/bin/apigee-service component stop
- Чтобы откатить любой из компонентов с общим кодом на узле, необходимо остановить их все, как показано в следующем примере:
- Если вы отменяете монетизацию, удалите ее со всех узлов сервера управления и процессора сообщений:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- Удалите компонент, чтобы выполнить откат на узле:
- Чтобы выполнить откат любого из компонентов с общим кодом на узле, необходимо удалить их все, удалив группу компонентов
edge-gatewayиapigee-cassandra-client, как показано в следующем примере:/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra-client uninstall
- Чтобы выполнить откат Nginx:
### Find the apigee-nginx RPM rpm -qa | grep -i "apigee-nginx" ### Remove the apigee-nginx RPM dnf remove apigee-nginx-1.30.x
- Чтобы выполнить откат любого другого компонента на узле, удалите только этот компонент, как показано в следующем примере:
/opt/apigee/apigee-service/bin/apigee-service component uninstall
где component – название компонента.
- Чтобы выполнить откат Edge Router, необходимо удалить содержимое файла
/opt/nginx/conf.d, а также удалить группу компонентовedge-gateway.cd /opt/nginx/conf.d rm -rf *
- Чтобы выполнить откат любого из компонентов с общим кодом на узле, необходимо удалить их все, удалив группу компонентов
- Удалите версию 4.54.00 приложения "
apigee-setup":/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Установите утилиту
apigee-serviceверсии 4.53.00 и ее зависимости. В примере ниже устанавливается версия 4.53.00apigee-service:sudo bash /tmp/bootstrap_4.53.00.sh apigeeuser=uName apigeepassword=pWord
где uName и pWord – имя пользователя и пароль, полученные от Apigee. Если вы не укажете pWord, вам будет предложено это сделать.
Если возникнет ошибка, убедитесь, что на шаге 1 вы скачали файл
bootstrap.sh. - Установите
apigee-setup:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Установите более раннюю версию компонента:
/opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
где component – устанавливаемый компонент, а configFile – файл конфигурации для более ранней версии.
- Если вы выполняете откат Qpid, очистите iptables:
sudo iptables -F
- Повторите этот процесс для каждого узла, на котором размещен компонент, который вы откатываете.
Как выполнить откат mTLS
Чтобы отменить обновление mTLS, выполните следующие действия на всех хостах:
- Остановить Apigee:
apigee-all stop
- Остановить mTLS:
apigee-service apigee-mtls uninstall
- Переустановите mTLS:
apigee-service apigee-mtls install apigee-service apigee-mtls setup -f /opt/silent.conf