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

Иногда может возникнуть необходимость вывести центр обработки данных из эксплуатации. Например, при обновлении операционной системы необходимо установить новую операционную систему в новом центре обработки данных, а затем вывести из эксплуатации старый. В следующих разделах представлен пример вывода из эксплуатации центра обработки данных, состоящего из двух центров обработки данных, 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, обязательно назначьте любой из доступных резервных узлов новым главным сервером Postgres. Хотя сервер QPID хранит буфер в очереди, если главный сервер Postgres будет недоступен в течение длительного времени, вы рискуете потерять аналитические данные.

Предпосылки

  • Перед выводом из эксплуатации любого компонента рекомендуем выполнить полное резервное копирование всех узлов. Используйте процедуру резервного копирования для вашей текущей версии Edge. Подробнее о резервном копировании см. в разделе Резервное копирование и восстановление .

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

Порядок вывода из эксплуатации компонентов

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

  1. Edge UI (edge-ui)
  2. Сервер управления (edge-management-server)
  3. Symas LDAP (apigee-openldap)
  4. Маршрутизатор (граничный маршрутизатор)
  5. Процессор сообщений (edge-message-processor)
  6. Сервер Qpid и Qpidd (edge-qpid-server и apigee-qpidd)
  7. База данных Postgres и PostgreSQL (edge-postgres-server и apigee-postgresql)
  8. ZooKeeper (зоозащитник)
  9. Кассандра (apigee-cassandra)

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

Edge UI

Чтобы остановить и удалить компонент 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

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.

    При желании вы можете выполнить следующие шаги: создать пользователя с правами только для чтения на узле SymasLDAP dc-2, а затем проверить, реплицирован ли этот пользователь. После этого пользователь будет удалён.

    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

Процессор сообщений

В этом разделе описывается, как вывести из эксплуатации обработчик сообщений на DC-1. Подробнее об удалении обработчика сообщений см. в разделе «Удаление сервера ».

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

  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&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  4. Отсоединить среду от обработчика сообщений.
    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. Удалите обработчик сообщений:
    /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 ( 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 master:

  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 и Кассандра

    В этом разделе объясняется, как вывести из эксплуатации серверы 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. Обновите файл конфигурации молчания (измененный на шаге e), указав IP-адреса удаленных выведенных из эксплуатации узлов, и запустите профиль сервера управления на всех узлах, на которых размещены серверы управления:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. Обновите файл конфигурации, указав IP-адреса удаленных выведенных из эксплуатации узлов, и запустите профиль MP/RMP на всех узлах маршрутизатора и процессора сообщений:
      • Если Edge Router и Message Processor настроены на одном узле, введите:
        /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
      • Если пограничный маршрутизатор и процессор сообщений настроены на отдельных узлах, введите следующее:

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

        /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. Отсоединить Org от модуля:
        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 из эксплуатации завершен.

    Приложение

    Поиск неисправностей

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

    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;

      Журналы

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