Перемещение компонентов с одного компьютера на другой может привести к несоответствию конфигурации, если вы не синхронизируете 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 (см. ниже), в противном случае перезапустите каждый компонент платформы 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
- Выполните команду
nodetool ringна измененном узле, чтобы убедиться, что кольцо замкнуто. Утилиту можно найти по адресу/opt/apigee/apigee-cassandra/bin.nodetool [-u username -pw password] -h localhost ring
Имя пользователя и пароль нужно передавать, только если вы включили аутентификацию JMX для Cassandra.
- Выполните
nodetool repairдля измененного узла. Обратите внимание, что этот процесс может занять некоторое время, поэтому настоятельно рекомендуется не выполнять его в часы пиковой нагрузки API.nodetool [-u username -pw password] -h localhost repair -pr
- При необходимости восстановите 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-адрес.
- Измените параметр
- На узле Management Server измените файл
/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, выполните следующие действия:
- На узле Management Server отредактируйте файл
/opt/apigee/customer/application/management-server.properties. Если файла нет, создайте его. - В файле
management-server.propertiesзадайте для параметраconf_security_ldap.server.hostновый IP-адрес. - Перезапустите сервер управления:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Изменение IP-адреса узлов Apigee других типов
Чтобы изменить IP-адрес любого из этих типов узлов (Router, Message Processor, Postgres Server (не postgresql) и Qpid Server (не 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 компонента…