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

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

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

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

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

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

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

Подготовка

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

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

Требования

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

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

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

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

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

  1. Интерфейс Edge (edge-ui)
  2. Сервер управления (edge-management-server)
  3. OpenLDAP (apigee-openldap)
  4. Маршрутизатор (пограничный маршрутизатор)
  5. Обработчик сообщений (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

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

/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui 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

Open LDAP

В этом разделе рассказывается, как отключить OpenLDAP на dc-1.

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

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

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

    1. Проверьте текущий статус:
      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}bdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. Выполните команду ldapmodify:
      ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif

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

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

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

    1. Создайте в dc-2 файл readonly-user.ldif со следующим содержимым:
      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:
      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 больше не реплицируются:
      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. Удалите добавленного ранее пользователя с доступом только для чтения:
      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. Остановите OpenLDAP в dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. Удалите компонент OpenLDAP на 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&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;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. Чтобы включить заблокированный порт 15999, сбросьте правила iptables:
    iptables -F

Message Processor

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

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

  1. Получите UUID процессоров сообщений, как описано в разделе Как получить UUID.
  2. Остановите обработчик сообщений:
    apigee-service edge-message-processor stop
  3. Отмените регистрацию типа сервера:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers  \
    -d "type=message-processor&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"/pre>
  4. Disassociate an environment from the Message Processor.

    Note: You need to remove the bindings on each org/env that associates the Message Processor UUID.

    curl -H "Content-Type:application/x-www-form-urlencoded" -u <AdminEmailID>:''  \
    -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. Удалите обработчик сообщений:
    /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. Создайте резервную копию основного узла dc-1 Postgres, следуя инструкциям по ссылкам ниже:
  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&region=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 на всех узлах маршрутизатора и Message Processor:
      • Если Edge 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 серверов, связанных с контейнерами:
        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

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

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

    Приложение

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

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

    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

    Проверка

    Проверить отключение можно с помощью следующих команд.

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

    Выполните следующие команды на серверах управления во всех регионах.

    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

    Выполните следующую команду на всех компонентах, чтобы проверить требования к портам для всех портов управления.

    curl -v http://MS_IP:8080/v1/servers/self

    Проверьте группу аналитики.

    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

    Узлы Cassandra/ZooKeeper

    На всех узлах Cassandra введите:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

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

    На одном из узлов введите:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> status

    В результате выполнения этих команд будет возвращена информация об активном центре обработки данных.

    На узлах ZooKeeper сначала введите:

    echo ruok | nc <host> 2181

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

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

    echo stat | nc <host> 2181 | grep Mode

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

    На одном узле ZooKeeper:

    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt

    На главном узле Postgres выполните следующую команду:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

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

    На резервном узле:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

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

    Войдите в базу данных PostgreSQL, используя команду

    psql -h localhost -d apigee -U postgres

    Когда появится запрос, введите пароль пользователя postgres: 'postgres'. Выберите max(client_received_start_timestamp) в разделе "Аналитика".

    ”$org.$env.fact” limit 1;

    Журналы

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