Переезд серверов Apigee

Перемещение компонентов с одного компьютера на другой может привести к несоответствию конфигураций , если вы не синхронизируете IP-адреса в файлах конфигурации компонентов.

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

IP-адреса и имена хостов

В файлах конфигурации компонентов следует использовать IP-адреса, а не имена хостов.

Хотя некоторые файлы конфигурации компонентов позволяют использовать имена хостов вместо IP-адресов, использование имён хостов может усложнить устранение неполадок. Например, имена хостов могут стать причиной проблем с подключением к DNS-серверу, ошибками поиска и синхронизацией.

В связи с этим Apigee настоятельно рекомендует использовать IP-адреса для настройки всех компонентов. В некоторых случаях, например, в Cassandra, необходимо использовать IP-адреса, но нельзя использовать имена хостов. В большинстве примеров в документации для настройки компонентов используются IP-адреса.

При перемещении серверов Apigee учитывайте возможные последствия следующих сценариев для имен хостов и IP-адресов:

Сценарий Влияние на перемещение серверов
Изменение IP-адреса Обновите все связанные файлы, которые ссылаются на исходный IP-адрес.
Изменение имени хоста без изменения IP-адреса Никакого воздействия
Изменение имени хоста при изменении IP-адреса То же, что и изменение IP-адреса

Изменение IP-адреса узла Cassandra

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

Для конфигураций с одним узлом Cassandra

  1. Отредактируйте файл /opt/apigee/customer/application/cassandra.properties в изменяемой системе. Если файл отсутствует, создайте его.
  2. Измените следующие параметры:
    • Задайте параметры conf_cassandra_seeds и conf_cassandra_listen_address , чтобы указать новый IP-адрес системы.
    • Измените conf_cassandra_rpc_address , чтобы использовать новый IP-адрес или 0.0.0.0 (что позволит Cassandra Thrift прослушивать все интерфейсы).
  3. Откройте /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties в редакторе. Вы должны увидеть старый IP-адрес и настройки по умолчанию в следующем виде:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    Сохраните эту информацию.

  4. Отредактируйте /opt/apigee/customer/application/cassandra.properties , чтобы изменить указанный старый IP-адрес на новый IP-адрес:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Обязательно вставьте «\n» после IP-адреса и укажите те же настройки по умолчанию, которые вы нашли выше в Шаге 3.

  5. Перезапустить Кассандру:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. При необходимости также восстановите ZooKeeper (см. раздел Изменение IP-адреса узла ZooKeeper ). В противном случае перезапустите все компоненты платформы Apigee, начиная с сервера управления.

Для конфигураций с несколькими узлами Cassandra (кольцо)

  1. Если изменяемый узел является начальным, отредактируйте файл /opt/apigee/customer/application/cassandra.properties на каждой системе в кольце и измените параметр conf_cassandra_seeds , включив в него новый IP-адрес изменённой системы. Если файл cassandra.properties отсутствует, создайте его.
  2. Отредактируйте /opt/apigee/customer/application/cassandra.properties в изменяемой системе и измените следующие параметры:
    • Настройте conf_cassandra_listen_address на использование нового IP-адреса.
    • Настройте conf_cassandra_rpc_address на использование нового IP-адреса или «0.0.0.0» (что позволит Cassandra Thrift прослушивать все интерфейсы).
  3. Откройте /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties в редакторе. Вы должны увидеть все IP-адреса Cassandra и настройки по умолчанию в следующем формате:
    192.168.56.101=dc-1:ra-1
    192.168.56.102=dc-1:ra-1
    192.168.56.103=dc-1:ra-1
    default=dc-1:ra-1

    Сохраните эту информацию.

  4. Отредактируйте /opt/apigee/customer/application/cassandra.properties , чтобы изменить указанный старый IP-адрес на новый IP-адрес:
    conf_cassandra-topology_topology=192.168.56.101=dc-1:ra-1\n192.168.56.102=dc-1:ra-1\n192.168.56.104=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Обязательно вставьте «\n» после каждого IP-адреса и используйте те же настройки по умолчанию, которые вы записали выше в Шаге 3.

  5. Перезапустите Cassandra на модифицированной системе.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Для всех остальных узлов повторите изменения, внесённые в шагах 3 и 4, чтобы сообщить им положение данного узла в кольце Cassandra. Кроме того, измените IP-адрес начального узла, как описано в шаге 1.
  7. Перезапустите каждый оставшийся узел Cassandra по одному.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  8. Выполните команду nodetool ring на изменённом узле, чтобы убедиться в целостности кольца. Утилиту можно найти по адресу /opt/apigee/apigee-cassandra/bin .
    nodetool [-u username -pw password] -h localhost ring
  9. Запустите nodetool repair на изменённом узле. Обратите внимание, что этот процесс может занять некоторое время, поэтому настоятельно рекомендуется не выполнять его в часы пикового трафика API.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. При необходимости восстановите ZooKeeper (см. Изменение IP-адреса узла ZooKeeper ), затем перезапустите каждый компонент платформы Apigee, начиная с сервера управления.

Обновление регистраций в хранилище данных

  1. Найдите UUID регистраций хранилищ данных, указывающих старый IP-адрес, с помощью команд ниже. Обратите внимание на параметры «type» и «UUID»:
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics&region=DC" | egrep -i '[type|internalip|uuid|region]'

      Где DC — название центра обработки данных. В системе с одним центром обработки данных значение обычно равно «dc-1».

  2. Зарегистрируйте новые IP-адреса, используя одну из команд ниже. Необходимая команда будет зависеть от типа изменённого узла.
    • Для type="application-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP&region=REGION&pod=central" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST
    • Для type="kms-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=kms-datastore&Type=dc-datastore&Type=keyvaluemap-datastore&Type=counter-datastore&Type=cache-datastore \
        &InternalIP=NEWIP&region=REGION&pod=GATEWAY_POD" -H 'content-type: \
        application/x-www-form-urlencoded' -X POST
    • Для type="reportcrud-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers" -d \
        "Type=reportcrud-datastore&InternalIP=NEW_IP&region=REGION&pod=analytics" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST 
  3. Удалите старые регистрации для UUID системы, в которой был изменён IP-адрес. Для каждого из этих UUID выполните следующие действия:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

Изменение IP-адреса узла ZooKeeper

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

Измените IP-адрес и перезапустите ансамбль ZooKeeper (только для конфигураций ансамбля с несколькими узлами)

  1. Откройте /opt/apigee/apigee-zookeeper/conf/zoo.cfg в редакторе. Вы должны увидеть все IP-адреса ZooKeeper и настройки по умолчанию в следующем формате:
    server.1=192.168.56.101:2888:3888
    server.2=192.168.56.102:2888:3888
    server.3=192.168.56.103:2888:3888

    Сохраните эту информацию.

  2. На каждом узле ZooKeeper отредактируйте файл /opt/apigee/customer/application/zookeeper.properties , чтобы задать для свойства conf_zoo_quorum правильные IP-адреса. Если файл отсутствует, создайте его.
    conf_zoo_quorum=server.1=192.168.56.101:2888:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n

    Убедитесь, что вы вставляете «\n» после каждого IP-адреса и что записи находятся в одинаковом порядке на каждом узле.

  3. Найдите лидера ансамбля ZooKeeper, используя следующую команду (замените node IP-адресом машины Zookeeper):
    echo srvr | nc node 2181

    В строке «Режим» на выходе должно быть указано «лидер».

  4. Перезапускайте ZooKeeper один за другим, начиная с лидера и заканчивая узлом, на котором был изменён IP-адрес. Если IP-адреса изменились более чем у одного узла ZooKeeper, может потребоваться перезапуск всех узлов.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. Используйте команду echo , описанную выше, для проверки каждого узла ZooKeeper.

Информировать узлы Apigee об измененной конфигурации

  1. На каждом узле маршрутизатора отредактируйте файл /opt/apigee/customer/application/router.properties следующим образом. Если файл отсутствует, создайте его.
    • Измените параметр conf_zookeeper_connection.string , включив в него новый IP-адрес.
    • Измените параметр conf_zookeeper_zk1.host , включив в него новый IP-адрес.
  2. На каждом узле Message Processor отредактируйте файл /opt/apigee/customer/application/message-processor.properties следующим образом. Если файл отсутствует, создайте его.
    • Измените параметр conf_zookeeper_connection.string , включив в него новый IP-адрес.
    • Измените параметр conf_zookeeper_zk1.host , включив в него новый IP-адрес.
  3. На узле сервера управления отредактируйте файл /opt/apigee/customer/application/management-server.properties следующим образом. Если файл отсутствует, создайте его.
    • Измените параметр conf_zookeeper_connection.string , включив в него новый IP-адрес.
    • Измените параметр conf_zookeeper_zk1.host , включив в него новый IP-адрес.
  4. Перезапустите все компоненты платформы Apigee, выполнив следующую команду на каждом узле:
    /opt/apigee/apigee-service/bin/apigee-all restart

Изменение IP-адреса LDAP-сервера (SymasLDAP)

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

  1. На узле Management Server отредактируйте файл /opt/apigee/customer/application/management-server.properties . Если файл отсутствует, создайте его.
  2. В файле management-server.properties задайте параметр conf_security_ldap.server.host на новый IP-адрес.
  3. Перезапустите сервер управления:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Изменение IP-адреса других типов узлов Apigee

Чтобы изменить IP-адрес любого из этих типов узлов (маршрутизатор, процессор сообщений, сервер Postgres (не postgresql) и сервер Qpid (не qpidd):

  1. Используйте следующую команду curl для регистрации нового внутреннего и внешнего IP-адреса:
    curl -u ADMINEMAIL:PW -X PUT \
      http://MSIP:8080/v1/servers/uuid -d ExternalIP=ip
    curl -u ADMINEMAIL:PW -X PUT \
      http://$MSIP:8080/v1/servers/uuid -d InternalIP=ip

    Где uuid — UUID узла.

Информацию о том, как получить UUID компонента, см. в разделе Получение UUID .