Перенос серверов 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-адрес вместо старого:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    После IP-адреса вставьте "\n" и укажите те же настройки по умолчанию, которые вы нашли на шаге 3.

  5. Перезапустите Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. При необходимости также восстановите 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-адрес вместо старого:
    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

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

  5. Перезапустите Cassandra в измененной системе. Если измененная система является начальным узлом, также перезапустите каждую систему, которая использовала этот узел.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Выполните команду nodetool ring на измененном узле, чтобы убедиться, что кольцо замкнуто. Утилиту можно найти по адресу /opt/apigee/apigee-cassandra/bin.
    nodetool [-u username -pw password] -h localhost ring

    Имя пользователя и пароль нужно передавать, только если вы включили аутентификацию JMX для Cassandra.

  7. Выполните nodetool repair для измененного узла. Обратите внимание, что этот процесс может занять некоторое время, поэтому настоятельно рекомендуется не выполнять его в часы пиковой нагрузки API.
    nodetool [-u username -pw password] -h localhost repair -pr
  8. При необходимости восстановите 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

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

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

    В строке Mode (Режим) должно быть указано leader (лидер).

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

Сообщите узлам 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. На узле Management Server измените файл /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 (OpenLDAP)

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

  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-адрес любого из этих типов узлов (Router, Message Processor, Postgres Server (не postgresql) и Qpid Server (не qpidd):

  1. Чтобы зарегистрировать новые внутренний и внешний IP-адреса, используйте следующую команду curl:
    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 компонента…