4.16.09 Процесс отката

В случае возникновения ошибки во время обновления до Edge 4.16.09 вы можете откатить компонент, вызвавший ошибку, а затем повторить попытку обновления. Например, если обновление до Postgres 9.4 завершится неудачно, вы можете выполнить откат только узлов Postgres и повторить попытку обновления.

Существует два сценария, в которых может потребоваться выполнить откат:

  1. Откат к более старой версии. Например с 16.04.09 по 16.04.05.
  2. Откат к более старой версии в том же выпуске.

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

Кто может выполнить откат

Пользователь, выполняющий откат, должен быть тем же пользователем, который первоначально обновил Edge, или пользователем, работающим под учетной записью root.

По умолчанию компоненты Edge запускаются от имени пользователя «apigee». В некоторых случаях вы можете запускать компоненты Edge от имени разных пользователей. Например, если маршрутизатору необходим доступ к привилегированным портам, например портам ниже 1000, вам необходимо запустить маршрутизатор от имени пользователя root или пользователя, имеющего доступ к этим портам. Или вы можете запустить один компонент от имени одного пользователя, а другой компонент от имени другого пользователя.

Какие компоненты можно откатить

При выполнении отката следует учитывать следующие условия:

  • Пять перечисленных ниже компонентов Edge имеют общий код. Таким образом, чтобы выполнить откат любого из пяти компонентов на узле, необходимо выполнить откат любого из пяти установленных на узле. Например, если на узле установлены сервер управления, маршрутизатор и процессор сообщений, для отката любого из них необходимо выполнить откат всех трех.
    Пять компонентов, которые используют общий код:
    • Сервер управления
    • Маршрутизатор
    • Процессор сообщений
    • Qpid-сервер
    • Постгрес-сервер
  • Если вы обновляетесь с Edge 4.16.01 , не делайте откат Cassandra. Этот выпуск Edge содержит обновленную версию Cassandra. Если вы выполняете откат каких-либо компонентов, оставьте Cassandra на версии 4.16.09.
  • Этот выпуск не содержит новой версии qpidd. Поэтому вам не нужно откатывать qpidd.

Откат 4.16.09

В этом разделе описана процедура отката Edge 4.16.09 до предыдущей версии. Этот раздел разделен на две части:

  • Откат обновления Postgres до версии 9.4
    Заключительная часть каждой процедуры обновления — обновление узлов Postgres до версии 9.4. Если это обновление не удалось, вы можете использовать эту процедуру для отката обновления.
  • Откат всех остальных компонентов Edge
    Используйте эту процедуру для отката любых других компонентов Edge.

Откат обновления Postgres 9.4

Чтобы откатить обновление Postgres при обновлении Postgres в конфигурации «главный-резервный», вы:

  • Сделайте новый резервный узел мастером Postgres. Новый мастер Postgres будет той же версии, что и ваша предыдущая установка Edge.
  • Настройте старый резервный узел как резервный узел нового ведущего узла. Старый резервный узел будет той же версии, что и ваша предыдущая установка Edge.
  • Зарегистрируйте новые главный и резервный узлы в группах аналитики и потребителей.

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

  1. Убедитесь, что новый резервный узел Postgres запущен:
    > /opt/apigee/apigee-service/bin/apigee-all status

    Если Postgres не запущен, запустите его:
    > /opt/apigee/apigee-service/bin/apigee-all start
  2. Убедитесь, что Postgres остановлен на старом главном узле и старом резервном узле:
    > /opt/apigee/apigee-service/bin/apigee-all status

    Если Postgres запущен, остановите его:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-postgres-server остановка
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql остановить
  3. Если установлен, запустите Qpid на старом резервном узле:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-server start

    Примечание . Во многих конфигурациях на старом резервном узле будет размещаться только Postgres, но не Qpid.
  4. Продвигайте новый резервный узел в качестве главного узла Postgres:
    1. Сделайте новый резервный узел новым главным :
      > apigee-service apigee-postgresql повышать-резервный-мастеру new_standby_IP

      При появлении запроса введите пароль Postgres для пользователя «apigee», который по умолчанию — «postgres».
    2. Отредактируйте файл конфигурации, который вы использовали для установки текущей версии Edge, указав следующее:
      # IP-адрес нового мастера :
      PG_MASTER= новый_резервный_IP
      # IP-адрес старого резервного узла
      PG_STANDBY= старый_резервный_IP
    3. Настройте новый мастер :
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Восстановите старый резервный узел:
    1. Отредактируйте файл конфигурации, который вы использовали для установки текущей версии Edge, указав следующее:
      # IP-адрес нового мастера :
      PG_MASTER= новый_резервный_IP
      # IP-адрес старого резервного узла
      PG_STANDBY= старый_резервный_IP
    2. Удалите каталог данных на старом резервном узле:
      > cd /opt/apigee/data/apigee-postgresql/pgdata
      > РМ -РФ *
    3. Переконфигурируйте старый резервный узел как резервный узел нового ведущего узла:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Убедитесь, что Postgres работает на старом резервном узле:
      > /opt/apigee/apigee-service/bin/apigee-all status

      Если он не запущен, запустите его:
      > /opt/apigee/apigee-service/bin/apigee-service Edge-postgres-server start
  6. Убедитесь, что новый резервный узел был добавлен, просмотрев файл /opt/apigee/apigee-postgresql/conf/pg_hba.conf на новом главном узле.
  7. Просмотрите текущую аналитику и информацию о группах потребителей, выполнив следующую команду на сервере управления:
    > curl -u sysAdminEmail:пароль http:// <ms_IP> :8080/v1/analytics/groups/ax

    Эта команда возвращает имя группы аналитики в поле имени и имя группы потребителей в поле имени в разделе Consumer-groups . Он также возвращает UUID старого главного и резервного узлов Postgres в поле postgres-server и в поле datastores . Вы должны увидеть вывод в форме:

    {
    "имя": "axgroup-001",
    "характеристики" : {
    },
    "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" ]
    },
    "группы потребителей" : [ {
    "имя": "группа потребителей-001",

    "потребители": [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
    "хранилища данных": [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
    "характеристики" : { }
    } ],
    "обработчики данных" : {
    }
    }
  8. Получите адрес UUID старого главного узла, выполнив следующую команду cURL на старом главном узле:
    > curl -u sysAdminEmail:пароль http:// <node_IP> :8084/v1/servers/self

    В конце вывода вы должны увидеть UUID узла в форме:
    "тип" : ["postgres-сервер"],
    "uUID": "599e8ebf-5d69-4ae4-aa71-154970a8ec75"


    Примечание . Служба Edge-postgres-server должна быть запущена. Если сервер Postgres не запущен, вы можете запустить следующую команду на сервере управления, чтобы определить UUID:
    > curl -u sysAdminEmail:пароль http:// <ms_IP> :8080/v1/servers?pod=analytics

    В выводе этой команды указан UUID для IP-адреса каждого узла Postres.
  9. Повторите предыдущий шаг, чтобы получить IP-адреса старого резервного узла и нового главного узла.
  10. Удалите старые главные и резервные узлы из группы потребителей:
    > curl -u sysAdminEmail:пароль -X УДАЛИТЬ "http:// <ms_IP> :8080/v1/analytics/groups/ax/ axgroup-001 /consumer-groups/ consumer-group-001 /datastores/ masterUUID,standbyUUID " - в

    где axgroup-001 и Consumer-group-001 — это имена по умолчанию групп аналитики и потребителей. masterUUID,standbyUUID расположены в том же порядке, в котором они указаны выше, когда вы просматривали текущую аналитику и информацию о группах потребителей выше. Возможно, вам придется указать их как standbyUUID,masterUUID .

    Свойство datastores для групп потребителей теперь должно быть пустым.
  11. Удалите старые главный и резервный узлы из группы аналитики:
    > curl -u sysAdminEmail:пароль -X УДАЛИТЬ "http:// <ms_IP> :8080/v1/analytics/groups/ax/ axgroup-001 /servers?uuid= masterUUID,standbyUUID &type=postgres-server" -v

    Свойство postgres-server в разделе uuids теперь должно быть пустым.
  12. Зарегистрируйте новые главные и резервные узлы PG в группах аналитики и потребителей:
    > curl -u sysAdminEmail:пароль -X POST -H "Тип контента: application/json" -d '' "http:// <ms_IP> :8080/v1/analytics/groups/ax/ axgroup-001 /servers? uuid= masterUUID,standbyUUID &type=postgres-server" -v

    > curl -u sysAdminEmail:пароль -X POST -H "Тип контента: application/json" -d '' "http:// <ms_IP> :8080/v1/analytics/groups/ax/ axgroup-001 /consumer- groups/ consumer-group-001 /datastores?uuid= masterUUID,standbyUUID " -v
  13. Подтвердите группу аналитики:
    > curl -u sysAdminEmail:пароль http:// <ms_IP> :8080/v1/analytics/groups/ax

    Вы должны увидеть UUID новых главных и резервных узлов, перечисленных в группе аналитики и группе потребителей.
  14. Перезапустите пограничный сервер управления:
    > /opt/apigee/apigee-service/bin/apigee-service перезапуск сервера Edge-Management-Server
  15. Перезапустите все серверы Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-перезапуск сервера
  16. Перезапустите все серверы Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service перезапуск Edge-postgres-сервера
  17. Проверьте состояние репликации, выполнив следующие сценарии на обоих серверах. Система должна отображать одинаковые результаты на обоих серверах, чтобы гарантировать успешную репликацию:

    На новом мастере запустите:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Убедитесь, что он говорит, что он является мастером.

    На старом резервном узле:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Убедитесь, что он говорит, что это режим ожидания.
  18. Повторите предыдущий шаг после нескольких запросов API, чтобы убедиться, что узлы синхронизированы.
  19. Выведите из эксплуатации старый мастер Postgres, используя процедуру, описанную в разделе «Обновление Apigee Edge до версии 4.16.09» .

    Примечание . Если на старом главном узле использовался Qpid, вы можете оставить этот сервер включенным для запуска Qpid. Убедитесь, что он работает. Если нет, запустите его:
    > /opt/apigee/apigee-service/bin/apigee-service запуск сервера Edge-Management-Server

    Альтернативно вы можете удалить Qpid со старого главного узла и установить Qpid на новом главном узле, как описано ниже. После удаления Qpid вы можете вывести из эксплуатации старый главный узел.

Удалите Qpid со старого мастера и установите Qpid на новый мастер.

Используйте следующую процедуру, чтобы удалить Qpid со старого мастера и установить его на новый мастер:

  1. Заблокируйте доступ к порту Qpid 5672 на старом главном устройстве от доступа процессоров сообщений, выполнив следующую команду на всех процессорах сообщений:
    > iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Убедитесь, что очередь сообщений Qpid пуста, выполнив следующую команду. Вы не можете удалить Qpid, пока он не обработает все ожидающие сообщения:
    > qpid-stat -q

    Эта команда отображает таблицу, содержащую количество сообщений msg, msgIn и msgOut . Все сообщения будут обработаны, когда msg=0 и msgIn=msgOut .
  3. Определите UUID сервера Qpid на старом мастере, выполнив на старом мастере следующую команду. Сохраните эту информацию для дальнейшего использования в процедуре:
    > curl -u sysAdminEmail:пароль http:// <node_IP> ::8083/v1/servers/self
  4. Остановите Qpid на старом мастере:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-server остановка
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd остановить
  5. Удалите сервер Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service удаление Edge-qpid-сервера
    > /opt/apigee/apigee-service/bin/apigee-service удаление apigee-qpidd
  6. Удалите старый сервер Qpid из групп аналитики и потребителей:
    > curl -u sysAdminEmail:пароль -X DELETE -H "Тип контента: application/json" -d '' "http:// <ms_IP> :8080/v1/analytics/groups/ax/ axgroup-001 /consumer- группы/ consumer-group-001/consumers / qpid_UUID " -v

    > curl -u sysAdminEmail:пароль -X УДАЛИТЬ "http:// <ms_IP> :8080/v1/analytics/groups/ax/ axgroup-001 /servers?uuid= qpid_UUID &type=qpid-server" -v
  7. Удалите старый сервер Qpid из Zookeeper:
    > curl -u sysAdminEmail:пароль -X УДАЛИТЬ http:// <ms_IP> :8080/v1/servers/ qpid_UUID
  8. Установите Qpid на новый мастер:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f файл конфигурации
  9. Определите UUID сервера Qpid на новом ведущем устройстве, выполнив на новом ведущем устройстве следующую команду. Сохраните эту информацию для дальнейшего использования в процедуре:
    > curl -u sysAdminEmail:пароль http:// <node_IP> ::8083/v1/servers/self
  10. Зарегистрируйте новый сервер Qpid в группах аналитики и потребителей:
    > curl -u sysAdminEmail:пароль -X POST -H "Тип контента: application/json" -d '' "http:// <ms_IP> :8080/v1/analytics/groups/ax/ axgroup-001 /servers? uuid= qpid_UUID &type=qpid-server" -v

    > curl -u sysAdminEmail:пароль -X POST -H "Тип контента: application/json" -d '' "http:// <ms_IP> :8080/v1/analytics/groups/ax/ axgroup-001 /consumer- groups/ consumer-group-001 /consumers?uuid= qpid_UUID " -v
  11. Перезапустите все процессоры сообщений:
    > /opt/apigee/apigee-service/bin/apigee-service перезапуск процессора Edge-message
  12. Запустите следующую команду на новом сервере Qpid, чтобы проверить, созданы ли очереди:
    > qpid-stat -q

    Убедитесь, что вы видите, что msg, msgIn и msgOut обновляются по мере того, как сервер Qpid обрабатывает сообщения.

Для отката отдельных компонентов от 4.16.09

В рамках выполнения отката вам необходимо загрузить файл bootstrap.sh для вашей текущей версии Edge:

  • Для отката на 4.16.05 скачайте bootstrap_4.16.05.sh
  • Для отката на 4.16.01 скачайте bootstrap.sh

Для каждого узла, на котором размещен компонент для отката:

  1. Остановите компонент для отката:
    1. Если вы выполняете откат любого из следующих компонентов на узле, вы должны остановить их все: сервер управления, маршрутизатор, процессор сообщений, сервер Qpid или сервер Postgres:
      • > остановка сервера Edge-Management-Service Apigee
      • > остановка пограничного маршрутизатора apigee-service
      • > остановка процессора периферийных сообщений apigee-service
      • > остановка сервера apigee-service Edge-QPID
      • > остановка сервера apigee-service Edge-Postgres
    2. Если вы выполняете откат любого другого компонента на узле, остановите только этот компонент:
      • > остановка компа apigee-service
  2. Если вы выполняете откат монетизации, удалите ее со всех узлов сервера управления и процессора сообщений:
    > удаление apigee-service Edge-Mint-Gateway
  3. Удалите компонент для отката на узле:
    1. Если вы выполняете откат любого из следующих компонентов на узле, удалите их все: сервер управления, маршрутизатор, процессор сообщений, сервер Qpid или сервер Postgres:
      > удаление пограничного шлюза apigee-service
    2. Если вы выполняете откат любого другого компонента на узле, удалите только этот компонент:
      > удаление компа apigee-service
  4. Если вы выполняете откат Маршрутизатора, вам необходимо удалить содержимое /opt/nginx/conf.d :
    > компакт-диск /opt/nginx/conf.d
    > РМ -РФ *
  5. Чтобы откатить компонент:
    1. Удалите версию apigee-setup 4.16.09:
      > /opt/apigee/apigee-service/bin/apigee-service удаление apigee-setup
    2. Загрузите bootstrap.sh для версии 4.16.01 или 4.16.05:
      Для 4.16.01:
      > завиток https://software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh

      Для 16.04.05 :
      > завиток https://software.apigee.com/bootstrap_4.16.05.sh -o /tmp/bootstrap.sh
    3. Установите утилиту apigee-service версии 4.16.01 или 4.16.05 и ее зависимости:
      > sudo bash /tmp/bootstrap.sh apigeeuser= uName apigeepassword= pWord

      где uName и pWord — имя пользователя и пароль, которые вы получили от Apigee. Если вы опустите pWord , вам будет предложено ввести его.
    4. Установите версию apigee-setup 4.16.01 или 4.16.05:
      > /opt/apigee/apigee-service/bin/apigee-service установка установки apigee
    5. Установите версию компонента 4.16.01 или 4.16.05:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f файл конфигурации

      где comp — это компонент для установки, а configFile — ваш файл конфигурации 4.16.01 или 4.16.05.
  6. Чтобы откатить компонент до конкретной версии релиза 4.16.05:
    1. Загрузите конкретную версию компонента:
      > /<каталог_установки>/apigee/apigee-service/bin/apigee-service установка комп-версии

      где comp-версия — это компонент и версия для установки. Например:
      > /<каталог_установки>/apigee/apigee-service/bin/apigee-service Edge-ui-4.16.05-0.0.3649 install

      Если вы используете онлайн-репозиторий Apigee, вы можете определить доступные версии компонентов с помощью следующей команды:
      > ням --showduplications list comp

      Например:
      > ням --showduulates list Edge-UI
    2. Используйте apigee-setup для установки компонента:
      > /<каталог_установки>/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      Например:
      > /<каталог_установки>/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

      Обратите внимание, что вы указываете имя компонента только при установке.

Если у вас возникнут проблемы при откате, обратитесь в службу поддержки Apigee .