При переносе компонентов с одного компьютера на другой может возникнуть несоответствие конфигурации, если вы не синхронизируете IP-адреса в файлах конфигурации компонентов.
В этом разделе рассказывается, как диагностировать и устранять несоответствия в конфигурации.
IP-адреса и имена хостов
В файлах конфигурации компонентов следует использовать IP-адреса, а не имена хостов.
Хотя некоторые файлы конфигурации компонентов позволяют использовать имена хостов вместо IP-адресов, использование имен хостов может усложнить устранение неполадок. Например, имена хостов могут быть источником проблем, связанных с подключением к DNS-серверу, сбоями поиска и синхронизации.
Поэтому Apigee настоятельно рекомендует использовать IP-адреса для всех конфигураций компонентов. В некоторых случаях, например при работе с Cassandra, необходимо использовать IP-адреса, а не имена хостов. В большинстве примеров в документации для настройки компонентов используются IP-адреса.
При переносе серверов Apigee учитывайте последствия следующих сценариев для имен хостов и IP-адресов:
| Сценарий | Влияние на перенос серверов |
|---|---|
| Изменение IP-адреса | Обновите все связанные файлы, в которых упоминается исходный IP-адрес. |
| Изменение имени хоста без изменения IP-адреса | Никак не влияет |
| Изменение имени хоста с изменением IP-адреса | То же, что и изменение IP-адреса |
Как изменить IP-адрес узла Cassandra
Чтобы изменить IP-адрес узла Cassandra, выполните следующие действия:
Для конфигураций с одним узлом Cassandra
- Измените файл
/opt/apigee/customer/application/cassandra.propertiesв системе, которую вы хотите изменить. Если файла нет, создайте его. - Измените следующие параметры:
- Задайте параметры
conf_cassandra_seedsиconf_cassandra_listen_address, чтобы указать новый IP-адрес системы. - Измените
conf_cassandra_rpc_address, чтобы использовать новый IP-адрес или 0.0.0.0 (чтобы Cassandra Thrift прослушивал все интерфейсы).
- Задайте параметры
- Откройте файл
/opt/apigee/apigee-cassandra/conf/cassandra-topology.propertiesв редакторе. В форме вы увидите старый IP-адрес и настройки по умолчанию:192.168.56.101=dc-1:ra-1 default=dc-1:ra-1
Сохраните эту информацию.
- Измените
/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.
- Перезапустите Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- При необходимости также восстановите ZooKeeper (см. Изменение IP-адреса узла ZooKeeper). В противном случае перезапустите все компоненты платформы Apigee, начиная с сервера управления.
Для конфигураций с несколькими узлами Cassandra (кольцо)
- Если изменяемый узел является начальным, отредактируйте файл
/opt/apigee/customer/application/cassandra.propertiesв каждой системе в кольце и измените параметрconf_cassandra_seeds, чтобы включить новый IP-адрес измененной системы. Если файла cassandra.properties не существует, создайте его. - Измените файл
/opt/apigee/customer/application/cassandra.propertiesв системе, которую вы хотите изменить, и задайте следующие параметры:- Настройте
conf_cassandra_listen_addressтак, чтобы использовался новый IP-адрес. - Задайте для параметра
conf_cassandra_rpc_addressновый IP-адрес или значение "0.0.0.0" (чтобы Cassandra Thrift прослушивал все интерфейсы).
- Настройте
- Откройте файл
/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
Сохраните эту информацию.
- Измените
/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.
- Перезапустите Cassandra в измененной системе.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Для всех остальных узлов повторите изменения, внесенные на шагах 3 и 4, чтобы сообщить им о положении этого узла в кольце Cassandra. Кроме того, измените IP-адрес начального узла, как описано в шаге 1.
- Перезапустите каждый оставшийся узел Cassandra по очереди.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Выполните команду
nodetool ringна измененном узле, чтобы убедиться, что кольцо замкнуто. Утилиту можно найти на странице/opt/apigee/apigee-cassandra/bin.nodetool [-u username -pw password] -h localhost ring
- Выполните команду
nodetool repairдля измененного узла. Обратите внимание, что этот процесс может занять некоторое время, поэтому настоятельно рекомендуется не выполнять его в часы пиковой нагрузки на API.nodetool [-u username -pw password] -h localhost repair -pr
- При необходимости восстановите ZooKeeper (см. Как изменить IP-адрес узла ZooKeeper), а затем перезапустите все компоненты платформы Apigee, начиная с сервера управления.
Обновление регистраций хранилища данных
- Найдите UUID регистрации хранилища данных, в котором указан старый IP-адрес, с помощью приведенных ниже команд. Запишите значения параметров "type" и "UUID":
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics®ion=DC" | egrep -i '[type|internalip|uuid|region]'
где DC – название центра обработки данных. В установке с одним центром обработки данных значение обычно равно dc-1.
-
- Зарегистрируйте новые IP-адреса, используя одну из приведенных ниже команд. Команда зависит от типа измененного узла.
- Для type="application-datastore":
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \ "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP®ion=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®ion=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®ion=REGION&pod=analytics" \ -H 'content-type: application/x-www-form-urlencoded' -X POST
- Для type="application-datastore":
- Удалите старые регистрации для UUID системы, в которой был изменен IP-адрес. Для каждого из этих UUID:
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE
Как изменить IP-адрес узла ZooKeeper
Чтобы изменить IP-адрес узла ZooKeeper, выполните следующие действия:
Измените IP-адрес и перезапустите ансамбль ZooKeeper (только для конфигураций ансамбля с несколькими узлами).
- Откройте файл
/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
Сохраните эту информацию.
- На каждом узле 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" и что записи на всех узлах расположены в одном и том же порядке.
- Найдите лидера ансамбля ZooKeeper, используя следующую команду (замените node IP-адресом машины Zookeeper):
echo srvr | nc node 2181
В строке Mode в выходных данных должно быть указано "leader".
- Перезапустите ZooKeeper по одному, начиная с лидера и заканчивая узлом, на котором был изменен IP-адрес. Если IP-адреса изменились более чем на одном узле Zookeeper, может потребоваться перезапустить все узлы.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- Чтобы проверить каждый узел ZooKeeper, используйте описанную выше команду
echo.
Уведомление узлов Apigee об измененной конфигурации
- На каждом узле маршрутизатора измените файл
/opt/apigee/customer/application/router.propertiesследующим образом: Если файла нет, создайте его.- Измените параметр
conf_zookeeper_connection.string, чтобы включить новый IP-адрес. - Измените параметр
conf_zookeeper_zk1.host, чтобы включить новый IP-адрес.
- Измените параметр
- На каждом узле Message Processor измените файл
/opt/apigee/customer/application/message-processor.propertiesследующим образом: Если файла нет, создайте его.- Измените параметр
conf_zookeeper_connection.string, чтобы включить новый IP-адрес. - Измените параметр
conf_zookeeper_zk1.host, чтобы включить новый IP-адрес.
- Измените параметр
- На узле сервера управления измените файл
/opt/apigee/customer/application/management-server.propertiesследующим образом: Если файла нет, создайте его.- Измените параметр
conf_zookeeper_connection.string, чтобы включить новый IP-адрес. - Измените параметр
conf_zookeeper_zk1.host, чтобы включить новый IP-адрес.
- Измените параметр
- Перезапустите все компоненты платформы Apigee, выполнив на каждом узле следующую команду:
/opt/apigee/apigee-service/bin/apigee-all restart
Как изменить IP-адрес сервера LDAP (OpenLDAP)
Чтобы изменить IP-адрес узла OpenLDAP, выполните следующие действия:
- На узле сервера управления измените файл
/opt/apigee/customer/application/management-server.propertiesfile. Если файла нет, создайте его. - В файле
management-server.propertiesзадайте для параметраconf_security_ldap.server.hostновый IP-адрес. - Перезапустите сервер управления:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Изменение IP-адреса узла Apigee другого типа
Чтобы изменить IP-адрес любого из этих типов узлов (маршрутизатор, Message Processor, сервер Postgres (не postgresql) и сервер Qpid (не qpidd):
- Чтобы зарегистрировать новый внутренний и внешний 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 компонента, можно найти в статье Как получить UUID.