Вывод из эксплуатации центра обработки данных

Иногда может потребоваться вывести из эксплуатации центр обработки данных. Например, если вы обновляете операционную систему, вам нужно установить новую ОС в новом центре обработки данных, а затем вывести из эксплуатации старый. В следующих разделах приведен пример вывода из эксплуатации центра обработки данных, в котором есть два центра обработки данных, dc-1 и dc-2, в кластерной установке с 12 узлами:

  • dc-1 – центр обработки данных, который нужно вывести из эксплуатации.
  • dc-2 – второй центр обработки данных, который используется в процедуре вывода из эксплуатации.

Если вы обновляете операционную систему, dc-2 может быть центром обработки данных, в котором вы установили новую версию ОС. Однако для вывода центра обработки данных из эксплуатации устанавливать новую ОС не обязательно.

Что нужно учесть перед выводом центра обработки данных из эксплуатации

При выводе центра обработки данных из эксплуатации учитывайте следующее:

  • Заблокируйте весь трафик среды выполнения и управления, направляемый в выводимый из эксплуатации центр обработки данных, и перенаправьте его в другие центры обработки данных.
  • После вывода из эксплуатации центра обработки данных емкость кластера Apigee будет уменьшена. Чтобы компенсировать это, рассмотрите возможность увеличения мощности в оставшихся центрах обработки данных или добавления новых центров после вывода из эксплуатации.
  • В процессе вывода из эксплуатации существует вероятность потери данных аналитики, в зависимости от того, какие компоненты аналитики установлены в выводимом из эксплуатации центре обработки данных. Подробные сведения приведены в статье Как добавлять и удалять узлы Qpid.
  • Прежде чем выводить из эксплуатации центр обработки данных, вы должны понять, как настроены все компоненты во всех центрах обработки данных, особенно серверы SymasLDAP, ZooKeeper, Cassandra и Postgres. Также следует создать резервные копии всех компонентов и их конфигураций.

Подготовка

  • Сервер управления. Все действия по выводу из эксплуатации зависят от сервера управления. Если у вас есть только один доступный сервер управления, рекомендуем установить новый компонент сервера управления в центре обработки данных, отличном от dc-1, прежде чем выводить из эксплуатации сервер управления в dc-1, и убедиться, что один из серверов управления всегда доступен.
  • Маршрутизатор. Перед выводом маршрутизатора из эксплуатации заблокируйте порт 15999, чтобы сделать маршрутизаторы недоступными. Убедитесь, что трафик среды выполнения не направляется на выводимые из эксплуатации маршрутизаторы.
  • Cassandra и ZooKeeper. В разделах ниже описано, как вывести из эксплуатации dc-1 в конфигурации с двумя центрами обработки данных.

    Если у вас больше двух центров обработки данных, удалите все ссылки на выводимый из эксплуатации узел (в данном случае dc-1) из всех файлов конфигурации во всех оставшихся центрах обработки данных. Для узлов Cassandra, которые будут выведены из эксплуатации, удалите эти хосты из CASS_HOSTS. Остальные узлы Cassandra должны оставаться в исходном порядке, заданном в CASS_HOSTS.

  • Postgres. Если вы выводите из эксплуатации главный узел Postgres, назначьте вместо него один из доступных резервных узлов. Пока сервер QPID хранит буфер в очереди, если основной сервер Postgres будет недоступен в течение длительного времени, вы рискуете потерять данные аналитики.

Требования

  • Прежде чем выводить из эксплуатации какой-либо компонент, рекомендуется выполнить полное резервное копирование всех узлов. Выполните резервное копирование в соответствии с инструкциями для вашей версии Edge. Подробнее о резервном копировании и восстановлении…

  • Прежде чем выводить Edge из эксплуатации, убедитесь, что он запущен и работает, с помощью команды:
    /opt/apigee/apigee-service/bin/apigee-all status
  • Убедитесь, что в центр обработки данных, который вы выводите из эксплуатации, не поступает трафик среды выполнения.

Порядок отключения компонентов

Если вы устанавливаете Edge для частного облака на нескольких узлах, вам следует вывести из эксплуатации компоненты Edge на этих узлах в следующем порядке:

  1. Новый интерфейс Edge (edge-management-ui и edge-management-ui-static)
  2. Management Server (edge-management-server)
  3. Symas LDAP (apigee-openldap)
  4. Маршрутизатор (пограничный маршрутизатор)
  5. Message Processor (edge-message-processor)
  6. Qpid Server и Qpidd (edge-qpid-server и apigee-qpidd)
  7. База данных Postgres и PostgreSQL (edge-postgres-server и apigee-postgresql)
  8. ZooKeeper (apigee-zookeeper)
  9. Cassandra (apigee-cassandra)

В следующих разделах описано, как отключить каждый компонент.

Новый интерфейс Edge

Чтобы остановить и удалить компоненты New Edge UI в dc-1, введите следующие команды:

/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

Сервер управления

Чтобы отключить сервер управления на dc-1, выполните следующие действия:

  1. Остановите сервер управления на dc-1:
    apigee-service edge-management-server stop
  2. Найдите UUID сервера управления, зарегистрированного в dc-1:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. Тип сервера отмены регистрации:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=management-server&region=dc-1&pod=central&uuid=UUID&action=remove"
  4. Удалите сервер. Примечание. Если на этом сервере установлены другие компоненты, сначала отмените их регистрацию, а затем удалите UUID.
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. Удалите компонент Management Server на dc-1:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

Symas LDAP

В этом разделе объясняется, как вывести из эксплуатации SymasLDAP на dc-1.

Примечание. Если у вас больше двух центров обработки данных, ознакомьтесь с разделом Настройка более двух центров обработки данных ниже.

Чтобы вывести из эксплуатации SymasLDAP на dc-1, выполните следующие действия:

  1. Создайте резервную копию узла dc-1 SymasLDAP, следуя инструкциям из статьи Как создать резервную копию.
  2. Прервите репликацию данных между двумя центрами обработки данных, dc-1 и dc-2, выполнив следующие действия в обоих центрах обработки данных.

    1. Проверьте текущее состояние:
            /opt/symas/bin/ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

      Выходные данные должны быть похожи на эти:

      olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1
    2. Создайте файл break_repl.ldif со следующими командами:
      dn: olcDatabase={2}mdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}mdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. Выполните команду ldapmodify:
            /opt/symas/bin/ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif

      Выходные данные должны быть похожи на эти:

      modifying entry "olcDatabase={2}mdb,cn=config"
      modifying entry "olcDatabase={2}mdb,cn=config"
  3. Чтобы убедиться, что dc-2 больше не реплицируется в dc-1, создайте запись в LDAP dc-2 и проверьте, что она не отображается в LDAP dc-1.

    При желании вы можете выполнить описанные ниже действия, чтобы создать пользователя с доступом только для чтения в узле dc-2 SymasLDAP, а затем проверить, реплицирован ли пользователь. Затем пользователь удаляется.

    1. Создайте файл readonly-user.ldif в dc-2 со следующим содержимым:
      dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com
      objectClass: organizationalPerson
      objectClass: person
      objectClass: inetOrgPerson
      objectClass: top
      cn: readonly-user
      sn: readonly-user
      userPassword: {testPassword}
    2. Добавьте пользователя с помощью команды ldapadd в dc-2:
      /opt/symas/bin/ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif

      Выходные данные будут выглядеть примерно так:

      adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
    3. Выполните поиск пользователя в dc-1, чтобы убедиться, что он не реплицирован. Если пользователя нет в dc-1, вы можете быть уверены, что оба LDAP больше не реплицируются:
      /opt/symas/bin/ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL

      Выходные данные должны быть похожи на следующие:

      No such object (32)
      Matched DN: ou=users,ou=global,dc=apigee,dc=com
    4. Удалите пользователя с доступом только для чтения, которого вы добавили ранее.
      /opt/symas/bin/ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
  4. Остановите SymasLDAP в dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. Удалите компонент SymasLDAP на dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

Маршрутизатор

В этом разделе рассказывается, как вывести маршрутизатор из эксплуатации. Подробнее о том, как удалить маршрутизатор…

Ниже описано, как вывести маршрутизатор из эксплуатации в dc-1. Если в dc-1 настроено несколько узлов маршрутизатора, выполните эти действия на всех узлах по очереди.

Примечание. В этом примере предполагается, что порт 15999 для проверки работоспособности маршрутизатора настроен в балансировщике нагрузки и что блокировка порта 15999 сделает маршрутизатор недоступным. Для блокировки порта может потребоваться доступ с правами root.

Чтобы вывести маршрутизатор из эксплуатации, выполните следующие действия:

  1. Отключите доступность маршрутизаторов, заблокировав порт 15999, который используется для проверки работоспособности. Убедитесь, что трафик среды выполнения заблокирован в этом центре обработки данных:

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. Убедитесь, что маршрутизатор доступен:

    curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable

    Выходные данные должны быть похожи на эти:

    About to connect() to 10.126.0.160 port 15999 (#0)
    Trying 10.126.0.160...
    Connection refused
    Failed connect to 10.126.0.160:15999; Connection refused
    Closing connection 0
    curl: (7) Failed connect to 10.126.0.160:15999; Connection refused
  3. Получите UUID маршрутизатора, как описано в разделе Как получить UUID.
  4. Остановите маршрутизатор:
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. Выведите список доступных подов шлюза в организации с помощью следующей команды:
    curl -u  <AdminEmailID>:'<AdminPassword>' -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"

    Подробнее о пакетах…

  6. Отмените регистрацию типа сервера:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=router&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  7. Отмените регистрацию сервера:
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Удалить приложение "edge-router"
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    Подробнее о том, как удалить сервер…
  9. Сбросьте правила iptables, чтобы включить заблокированный порт 15999:
    iptables -F

Message Processor

В этом разделе описывается, как вывести из эксплуатации Message Processor из dc-1. Подробнее о том, как удалить сервер…

Поскольку мы предполагаем, что dc-1 имеет кластерную установку с 12 узлами, в dc-1 настроены два узла Message Processor. Выполните следующие команды на обоих узлах.

  1. Получите UUID процессоров сообщений, как описано в разделе Получение UUID.
  2. Остановите Message Processor:
    apigee-service edge-message-processor stop
  3. Отмените регистрацию типа сервера:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  4. Отменить связь среды с Message Processor.
    curl -H "Content-Type:application/x-www-form-urlencoded" <AdminEmailID>:'<AdminPassword>’  \
    -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \
    -d "action=remove&uuid=UUID"
  5. Отмените регистрацию типа сервера:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  6. Удалите Message Processor:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. Отмените регистрацию сервера:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID

Сервер Qpid и Qpidd

В этом разделе рассказывается, как отключить Qpid Server (edge-qpid-server) и Qpidd (apigee-qpidd). В dc-1 настроено два узла Qpid, поэтому вам нужно выполнить следующие действия для обоих узлов:

  1. Получите UUID для Qpidd, как описано в разделе Как получить UUID.
  2. Остановите edge-qpid-server и apigee-qpidd:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. Получите список групп Аналитики и потребителей:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. Удалите Qpid из группы потребителей:
    curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json"  -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
  5. Удалите Qpid из группы аналитики:
    curl -v -u <AdminEmailID>:'<AdminPassword>' \
    -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
  6. Отмените регистрацию сервера Qpid в установке Edge:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=qpid-server&region=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
  7. Удалите сервер Qpid из установки Edge:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Перезапустите все компоненты edge-qpid-server на всех узлах, чтобы убедиться, что изменения приняты этими компонентами:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
  9. Удалите edge-qpid-server и apigee-qpidd:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall

Postgres и Postgresql

В центре обработки данных, который вы выводите из эксплуатации, может быть основной или резервный сервер Postgres. Ниже описано, как это сделать.

Вывод из эксплуатации главного сервера Postgres

Примечание. Если вы выводите из эксплуатации главный узел Postgres, обязательно назначьте один из доступных резервных узлов новым главным узлом Postgres. Пока очереди QPID буферизуют данные, если главный сервер Postgres недоступен в течение длительного времени, вы рискуете потерять данные аналитики.

Чтобы вывести из эксплуатации главный сервер Postgres:

  1. Создайте резервную копию главного узла Postgres dc-1, следуя инструкциям по ссылкам ниже:
  2. Получите UUID серверов Postgres, как описано в разделе Как получить UUID.
  3. На dc-1 остановите edge-postgres-server и apigee-postgresql на текущем главном сервере:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  4. На резервном узле dc-2 введите следующую команду, чтобы сделать его основным узлом:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>

    Примечание. Если у вас несколько резервных узлов Postgres, добавьте записи хостов на новом главном узле и обновите настройки репликации для всех доступных резервных узлов Postgres.

    Чтобы добавить записи хоста в новый основной сервер Postgres, выполните инструкции в соответствующем разделе ниже:

    Если остался только один резервный узел

    Например, предположим, что до вывода из эксплуатации было настроено три узла Postgres. Вы вывели из эксплуатации существующий основной узел и назначили основным один из оставшихся резервных узлов Postgres. Настройте оставшийся резервный узел, выполнив следующие действия:

    1. На новом главном сервере измените файл конфигурации, чтобы задать следующие параметры:
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
    2. Включите репликацию на новом основном сервере:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle

    Если осталось несколько резервных узлов

    1. Добавьте следующую конфигурацию в файл /opt/apigee/customer/application/postgresql.properties:
      conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
    2. Убедитесь, что файл /opt/apigee/customer/application/postgresql.properties принадлежит пользователю apigee:
      chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. Перезапустите apigee-postgresql:
      apigee-service apigee-postgresql restart
    4. Чтобы обновить настройки репликации на резервном узле:

      1. Измените файл конфигурации /opt/silent.conf и обновите поле PG_MASTER, указав IP-адрес нового основного сервера Postgres.
      2. Удалите все старые данные Postgres с помощью следующей команды:
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. Настройте репликацию на резервном узле:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. Убедитесь, что главный сервер Postgres настроен правильно, введя следующую команду в dc-2:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. Удалите и добавьте серверы PostgreSQL из группы аналитики и группы потребителей.
      1. Удалите старый сервер Postgres из группы аналитики, следуя инструкциям в разделе Удаление сервера Postgres из группы аналитики.
      2. Добавьте новый сервер postgres в группу аналитики, следуя инструкциям в разделе Как добавить существующий сервер Postgres в группу аналитики.
    7. Отмените регистрацию старого сервера postgres в dc-1:
      curl -u <AdminEmailID>:<AdminPassword> -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"
            
    8. Удалите старый сервер postgres из dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. Теперь старый главный сервер Postgres можно безопасно вывести из эксплуатации. Удалите edge-postgres-server и apigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    Вывод из эксплуатации резервного сервера Postgres

    Примечание. В документации по кластерной установке с 12 узлами узел dc-1 postgresql указан как основной, но для удобства в этом разделе предполагается, что узел dc-1 postgresql является резервным, а узел dc-2 postgresql – основным.

    Чтобы вывести из эксплуатации резервный сервер Postgres, выполните следующие действия:

    1. Получите UUID серверов Postgres, следуя инструкциям в разделе Как получить UUID.
    2. Остановите apigee-postgresql на текущем резервном узле в dc-1:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. Удалите и добавьте серверы PostgreSQL из группы аналитики и группы потребителей.
      1. Удалите старый сервер Postgres из группы аналитики, следуя инструкциям в разделе Как удалить сервер Postgres из группы аналитики.
      2. Добавьте новый сервер postgres в группу аналитики, следуя инструкциям в разделе Как добавить существующий сервер Postgres в группу аналитики.
    4. Отмените регистрацию старого сервера postgres в dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"
    5. Удалите старый сервер postgres из dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. Теперь можно безопасно вывести из эксплуатации старый главный сервер Postgres. Удаление инструментов "edge-postgres-server" и "apigee-postgresql"
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    ZooKeeper и Cassandra

    В этом разделе объясняется, как вывести из эксплуатации серверы ZooKeeper и Cassandra в конфигурации с двумя центрами обработки данных.

    Если у вас больше двух центров обработки данных, удалите все упоминания выводимого из эксплуатации узла (в данном случае dc-1) из всех файлов конфигурации без вывода на экран во всех оставшихся центрах обработки данных. Для узлов Cassandra, которые нужно вывести из эксплуатации, удалите эти хосты из CASS_HOSTS. Остальные узлы Cassandra должны остаться в исходном порядке CASS_HOSTS.

    Примечание о ZooKeeper. При изменении свойства ZK_HOST в файле конфигурации необходимо поддерживать кворум узлов с правом голоса, чтобы ансамбль ZooKeeper оставался работоспособным. В конфигурации должно быть нечетное число узлов для голосования. Подробнее о задачах обслуживания Apache ZooKeeper…

    Чтобы вывести из эксплуатации серверы ZooKeeper и Cassandra, выполните следующие действия:

    1. Создайте резервную копию узлов dc-1 Cassandra и ZooKeeper, следуя инструкциям по следующим ссылкам:
    2. Перечислите UUID серверов ZooKeeper и Cassandra в центре обработки данных, где узлы Cassandra будут выведены из эксплуатации.

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. Отмените регистрацию типа сервера:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore&region=dc-1&pod=central&uuid=UUID&action=remove"
    4. Отмените регистрацию сервера:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. Обновите файл конфигурации, удалив IP-адреса выведенных из эксплуатации узлов из ZK_HOSTS и CASS_HOSTS.

      Пример. Предположим, у вас есть IP-адреса $IP1 $IP2 $IP3 в dc-1 и $IP4 $IP5 $IP6 в dc-2, и вы выводите из эксплуатации dc-1. Затем удалите IP-адреса $IP1 $IP2 $IP3 из файлов конфигурации.

      • Записи в существующем файле конфигурации:
        ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6"
        CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
      • Новые записи в файле конфигурации:
        ZK_HOSTS="$IP4 $IP5 $IP6"
        CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
    6. Обновите файл конфигурации, измененный на шаге "д", добавив в него IP-адреса удаленных узлов, и запустите профиль сервера управления на всех узлах, на которых размещены серверы управления:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. Обновите файл конфигурации, указав IP-адреса удаленных выведенных из эксплуатации узлов, и запустите профиль MP/RMP на всех узлах Router и Message Processor:
      • Если пограничный маршрутизатор и обработчик сообщений настроены на одном узле, введите:
        /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
      • Если Edge Router и Message Processor настроены на разных узлах, введите следующее:

        Для маршрутизатора:

        /opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file

        Для обработчика сообщений:

        /opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
    8. Перенастройте все узлы Qpid, удалив IP-адреса выведенных из эксплуатации узлов из файла ответов.
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. Перенастройте все узлы Postgres, удалив IP-адреса отключенных узлов из файла ответов.
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. Изменить пространство ключей system_auth. Если на существующем узле Cassandra включена аутентификация Cassandra, обновите коэффициент репликации пространства ключей system_auth, выполнив следующую команду:
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      Эта команда устанавливает коэффициент репликации '3', указывая на три узла Cassandra в кластере. При необходимости измените это значение.

      После выполнения этого шага в топологии Cassandra не должно быть dc-1 ни в одном из пространств ключей.

    11. Выведите из эксплуатации узлы Cassandra в dc-1 по одному.

      Чтобы вывести из эксплуатации узлы Cassandra, введите следующую команду:

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
    12. Проверьте подключение узлов Cassandra из dc-1, используя одну из следующих команд:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      Или выполните на выведенном из эксплуатации узле следующую команду:

      /opt/apigee/apigee-cassandra/bin/nodetool netstats

      Указанная выше команда должна вернуть следующий результат:

      Mode: DECOMMISSIONED
    13. Запустите профиль DS для всех узлов Cassandra и ZooKeeper в dc-2:
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
    14. Остановите apigee-cassandra и apigee-zookeeper в dc-1:
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. Удалите apigee-cassandra и apigee-zookeeper в dc-1:
      apigee-service apigee-cassandra uninstall
      apigee-service apigee-zookeeper uninstall

    Удалите привязки из dc-1.

    Чтобы удалить привязки из dc-1, выполните следующие действия:

    1. Удалите привязки из dc-1.
      1. Чтобы посмотреть список всех доступных подов в организации, выполните следующую команду:
        curl -v -u  <AdminEmailID>:'<AdminPassword>' -X GET "http://MS_IP:8080/v1/o/ORG/pods"
      2. Чтобы проверить, все ли привязки удалены, получите UUID серверов, связанных с pod-модулями:
        curl -v -u  <AdminEmailID>:'<AdminPassword>' \
        -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"

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

      3. Удалите все привязки сервера для UUID, полученных на предыдущем шаге:
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. Отменить связь организации с пакетом:
        curl -v -u  <AdminEmailID>:'<AdminPassword>'  "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove&region=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
    2. Удалите поды:
      curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. Удалите регион.
      curl -v -u <AdminEmailID>:'<AdminPassword>'  "http://MS_IP:8080/v1/regions/dc-1" -X DELETE

    На этом этапе вы завершили вывод из эксплуатации dc-1.

    Приложение

    Устранение неполадок

    Если после выполнения предыдущих шагов в некоторых pod-файлах все ещё есть серверы, выполните следующие действия, чтобы отменить регистрацию и удалить серверы. Примечание. При необходимости измените типы и пакет.

    1. Получите UUID с помощью следующей команды:
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. Отменить регистрацию сервера типа:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
    3. Удалите серверы по одному:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID

    Проверка

    Вы можете проверить вывод из эксплуатации с помощью следующих команд.

    Сервер управления

    1. Выполните следующие команды на серверах управления во всех регионах.
      curl -v -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central&region=dc-1
      curl -v -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway&region=dc-1
      curl -v -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics&region=dc-1
    2. Чтобы проверить требования к портам для всех портов управления, выполните следующую команду для всех компонентов:
      curl -v http://MS_IP:8080/v1/servers/self
    3. Проверьте группу аналитики.
      curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/o/ORG/e/ENV/provisioning/axstatus
      curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/analytics/groups/ax
    4. Узлы Cassandra/ZooKeeper

      1. На всех узлах Cassandra введите:
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

        В результате будет возвращен статус running или not running для этого узла.

      2. На одном узле введите:
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> status

        Приведенные выше команды возвращают информацию об активном центре обработки данных.

      3. На узлах ZooKeeper сначала введите:
        echo ruok | nc <host> 2181
        

        Эта команда возвращает imok.

        Затем введите:

        echo stat | nc <host> 2181 | grep Mode
        

        Значение Mode, возвращенное приведенной выше командой, будет одним из следующих: observer, leader или follower.

      4. На одном из узлов ZooKeeper выполните следующую команду:
        /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
      5. На главном узле Postgres выполните следующую команду:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

        Убедитесь, что в ответе указано, что узел является главным.

      6. На резервном узле выполните следующую команду:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

        Убедитесь, что в ответе подтверждается, что узел находится в режиме ожидания.

      7. Войдите в базу данных PostgreSQL, используя следующую команду:
        psql -h localhost -d apigee -U postgres

        Когда появится запрос, введите пароль пользователя postgres (по умолчанию: postgres).

        Затем выполните следующий запрос, чтобы проверить максимальное значение client_received_start_timestamp:

        SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;

      Журналы

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