Иногда может возникнуть необходимость вывести центр обработки данных из эксплуатации. Например, при обновлении операционной системы необходимо установить новую операционную систему в новом центре обработки данных, а затем вывести из эксплуатации старый. В следующих разделах представлен пример вывода из эксплуатации центра обработки данных, состоящего из двух центров обработки данных, 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 на этих узлах в следующем порядке:
- Edge UI (edge-ui)
- Сервер управления (edge-management-server)
- Symas LDAP (apigee-openldap)
- Маршрутизатор (граничный маршрутизатор)
- Процессор сообщений (edge-message-processor)
- Сервер Qpid и Qpidd (edge-qpid-server и apigee-qpidd)
- База данных Postgres и PostgreSQL (edge-postgres-server и apigee-postgresql)
- ZooKeeper (зоозащитник)
- Кассандра (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, выполните следующие действия:
- Остановите сервер управления на dc-1:
apigee-service edge-management-server stop
- Найдите UUID сервера управления, зарегистрированного в dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET “http://{MS_IP}:8080/v1/servers?pod=central®ion=dc-1&type=management-server”
- Отменить регистрацию типа сервера:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=management-server®ion=dc-1&pod=central&uuid=UUID&action=remove"
- Удалите сервер. Примечание: Если на этом сервере установлены другие компоненты, сначала отмените их регистрацию, прежде чем удалять UUID.
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
- Удалите компонент Management Server на DC-1:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
Symas LDAP
В этом разделе объясняется, как вывести SymasLDAP из эксплуатации на DC-1.
Примечание: Если у вас более двух центров обработки данных, см . раздел «Настройки с более чем двумя центрами обработки данных» ниже.
Чтобы вывести SymasLDAP из эксплуатации на dc-1, выполните следующие действия:
- Создайте резервную копию узла dc-1 SymasLDAP, выполнив шаги, описанные в разделе Как создать резервную копию .
Прервите репликацию данных между двумя центрами обработки данных, DC-1 и DC-2, выполнив следующие шаги в обоих центрах обработки данных.
- Проверьте текущее состояние:
/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
- Создайте файл
break_repl.ldif
, содержащий следующие команды:dn: olcDatabase={2}mdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}mdb,cn=config changetype: modify delete: olcMirrorMode
- Выполните команду
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"
- Проверьте текущее состояние:
Вы можете убедиться, что dc-2 больше не реплицируется на dc-1, создав запись в LDAP dc-2 и убедившись, что она не отображается в LDAP dc-1.
При желании вы можете выполнить следующие шаги: создать пользователя с правами только для чтения на узле SymasLDAP dc-2, а затем проверить, реплицирован ли этот пользователь. После этого пользователь будет удалён.
- Создайте файл
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}
- Добавьте пользователя с помощью команды `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"
- Найдите пользователя в 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
- Удалите ранее добавленного вами пользователя с правами только для чтения:
/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"
- Создайте файл
- Остановите SymasLDAP в dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Удалите компонент SymasLDAP на dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
Маршрутизатор
В этом разделе объясняется, как вывести маршрутизатор из эксплуатации. Подробнее об удалении маршрутизатора см. в разделе «Удаление сервера» .
Следующие шаги выведут маршрутизатор из DC-1 из эксплуатации. Если в DC-1 настроено несколько узлов маршрутизатора, выполните эти шаги по одному на каждом узле маршрутизатора.
Примечание: предполагается, что порт проверки работоспособности маршрутизатора 15999 настроен в вашем балансировщике нагрузки, и блокировка порта 15999 сделает маршрутизатор недоступным. Для блокировки порта может потребоваться root-доступ.
Чтобы вывести маршрутизатор из эксплуатации, выполните следующие действия:
Отключите доступ к маршрутизаторам, заблокировав порт 15999 (порт проверки работоспособности). Убедитесь, что трафик выполнения заблокирован в этом центре обработки данных:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Убедитесь, что маршрутизатор доступен:
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
- Получите UUID маршрутизатора, как описано в разделе Получение UUID .
- Остановите маршрутизатор:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- Выведите список доступных модулей шлюза в организации с помощью следующей команды:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"
См. раздел О модулях .
- Отменить регистрацию типа сервера:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=router®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Отменить регистрацию сервера:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Удалить
edge-router
: См. Удаление сервера ./opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
- Очистите правила
iptables
, чтобы включить заблокированный порт 15999:iptables -F
Процессор сообщений
В этом разделе описывается, как вывести из эксплуатации обработчик сообщений на DC-1. Подробнее об удалении обработчика сообщений см. в разделе «Удаление сервера ».
Поскольку мы предполагаем, что DC-1 имеет кластерную установку из 12 узлов , в DC-1 настроены два узла обработки сообщений. Выполните следующие команды на обоих узлах.
- Получите UUID обработчиков сообщений, как описано в разделе Получение UUID .
- Остановить обработчик сообщений:
apigee-service edge-message-processor stop
- Отменить регистрацию типа сервера:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Отсоединить среду от обработчика сообщений.
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"
- Отменить регистрацию типа сервера:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Удалите обработчик сообщений:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- Отменить регистрацию сервера:
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, поэтому необходимо выполнить следующие действия для обоих узлов:
- Получите UUID для Qpidd, как описано в разделе Получение UUID .
- Остановите
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
- Получите список аналитики и групп потребителей:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- Удалить 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}"
- Удалить 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"
- Отмените регистрацию сервера Qpid в установке Edge:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=qpid-server®ion=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
- Удалите сервер Qpid из установки Edge:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Перезапустите все компоненты 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
- Удалите 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:
- Создайте резервную копию главного узла Postgres dc-1, следуя инструкциям по следующим ссылкам:
- Получите UUID серверов Postgres, как описано в разделе Получение UUID .
- На 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
- На резервном узле 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 до главного. Настройте оставшийся резервный узел, выполнив следующие шаги:
- На новом главном сервере отредактируйте файл конфигурации, указав:
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- Включите репликацию на новом мастере:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
Если осталось более одного резервного узла
- Добавьте следующую конфигурацию в
/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
- Убедитесь, что файл /opt/apigee/customer/application/postgresql.properties принадлежит пользователю apigee:
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
- Перезапустите
apigee-postgresql
:apigee-service apigee-postgresql restart
- Измените файл конфигурации
/opt/silent.conf
и обновите полеPG_MASTER
, указав IP-адрес нового главного сервера Postgres. - Удалите все старые данные Postgres с помощью следующей команды:
rm -rf /opt/apigee/data/apigee-postgresql/
- Настройте репликацию на резервном узле:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
Чтобы обновить настройки репликации на резервном узле:
- На новом главном сервере отредактируйте файл конфигурации, указав:
- Убедитесь, что главный сервер Postgres настроен правильно, введя следующую команду в dc-2:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- Удаляйте и добавляйте серверы Postgresql из аналитической группы и группы потребителей.
- Удалите старый сервер Postgres из группы аналитики, следуя инструкциям в разделе Удаление сервера Postgres из группы аналитики .
- Добавьте новый сервер Postgres в группу аналитики, следуя инструкциям в разделе Добавление существующего сервера Postgres в группу аналитики .
- Отменяем регистрацию старого сервера 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"
- Удалить старый сервер postgres из dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Старый главный сервер 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 из эксплуатации в режиме ожидания, выполните следующие действия:
- Получите UUID серверов Postgres, следуя инструкциям в разделе Получение UUID .
- Остановите
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
- Удаляйте и добавляйте серверы Postgresql из аналитической группы и группы потребителей.
- Удалите старый сервер Postgres из группы аналитики, следуя инструкциям в разделе Удаление сервера Postgres из группы аналитики .
- Добавьте новый сервер Postgres в группу аналитики, следуя инструкциям в разделе Добавление существующего сервера Postgres в группу аналитики .
- Отменяем регистрацию старого сервера 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"
- Удалить старый сервер postgres из dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Старый главный сервер 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:
- Создайте резервную копию узлов dc-1 Cassandra и ZooKeeper, следуя инструкциям по следующим ссылкам:
Перечислите UUID серверов ZooKeeper и Cassandra в центре обработки данных, в котором узлы Cassandra будут вскоре выведены из эксплуатации.
apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
- Отменить регистрацию типа сервера:
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®ion=dc-1&pod=central&uuid=UUID&action=remove"
- Отменить регистрацию сервера:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- Обновите файл конфигурации, указав 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"
- Существующие записи файла конфигурации:
- Обновите файл конфигурации молчания (измененный на шаге e), указав IP-адреса удаленных выведенных из эксплуатации узлов, и запустите профиль сервера управления на всех узлах, на которых размещены серверы управления:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- Обновите файл конфигурации, указав 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
- Если Edge Router и Message Processor настроены на одном узле, введите:
- Перенастройте все узлы Qpid, удалив IP-адреса выведенных из эксплуатации узлов из файла ответов:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- Перенастройте все узлы Postgres, удалив IP-адреса выведенных из эксплуатации узлов из файла ответов:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
- Измените пространство ключей
system_auth
. Если на существующем узле Cassandra включена аутентификация Cassandra, обновите фактор репликации пространства ключейsystem_auth
, выполнив следующую команду:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};
Эта команда устанавливает коэффициент репликации равным
'3'
, что означает наличие трёх узлов Cassandra в кластере. Измените это значение при необходимости.После завершения этого шага топология Cassandra не должна иметь
dc-1
ни в одном из ключевых пространств. - Выведите из эксплуатации узлы Cassandra на DC-1, один за другим.
Чтобы вывести из эксплуатации узлы Cassandra, введите следующую команду:
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- Проверьте подключение узлов Cassandra от dc-1 с помощью одной из следующих команд:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
Или команда вторичной проверки, которую следует запустить на выведенном из эксплуатации узле:
/opt/apigee/apigee-cassandra/bin/nodetool netstats
Приведенная выше команда должна вернуть:
Mode: DECOMMISSIONED
- Запустите профиль DS для всех узлов Cassandra и ZooKeeper в dc-2:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- Остановить
apigee-cassandra
иapigee-zookeeper
в dc-1:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop
- Удалите
apigee-cassandra
иapigee-zookeeper
в dc-1:apigee-service apigee-cassandra uninstall
apigee-service apigee-zookeeper uninstall
Удалить привязки из dc-1
Чтобы удалить привязки из dc-1, выполните следующие действия:
- Удалить привязки из dc-1.
- Перечислите все доступные модули в организации:
curl -v -u <AdminEmailID>:'<AdminPassword>' -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- Чтобы проверить, все ли привязки были удалены, получите UUID серверов, связанных с модулями:
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"
Если эта команда не возвращает ни одного UUID, значит, предыдущие шаги удалили все привязки, и вы можете пропустить следующий шаг. В противном случае выполните следующий шаг.
- Удалите все привязки к серверу для UUID, полученных на предыдущем шаге:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- Отсоединить Org от модуля:
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove®ion=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
- Перечислите все доступные модули в организации:
- Удалить модули:
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- Удалить регион.
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
На этом вывод DC-1 из эксплуатации завершен.
Приложение
Поиск неисправностей
Если после выполнения предыдущих шагов в некоторых модулях всё ещё есть серверы, выполните следующие шаги для отмены регистрации и удаления серверов. Примечание: При необходимости измените типы и модули.
- Получите UUID с помощью следующей команды:
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- Отменить регистрацию типа сервера:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
- Удаляйте серверы по одному:
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®ion=dc-1
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics®ion=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 введите:
/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
).Затем выполните следующий запрос для проверки максимального значения
client_received_start_timestamp
:SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;
Узлы Cassandra/ZooKeeper
Журналы
Проверьте журналы компонентов, чтобы убедиться в отсутствии ошибок.