Przeniesienie komponentów z jednej maszyny na inną może spowodować niezgodność konfiguracji, jeśli nie zsynchronizujesz adresów IP w plikach konfiguracji komponentów.
W tej sekcji opisaliśmy, jak diagnozować i rozwiązywać problemy z niezgodnością konfiguracji.
Adresy IP a nazwy hostów
W plikach konfiguracji komponentów należy używać adresów IP, a nie nazw hostów.
Chociaż niektóre pliki konfiguracji komponentów umożliwiają używanie nazw hostów zamiast adresów IP, używanie nazw hostów może skomplikować rozwiązywanie problemów. Na przykład nazwy hostów mogą być źródłem problemów związanych z połączeniem z serwerem DNS, błędami wyszukiwania i synchronizacją.
Dlatego Apigee zdecydowanie zaleca używanie adresów IP we wszystkich konfiguracjach komponentów. W niektórych przypadkach, np. w przypadku Cassandra, musisz używać adresów IP i nie możesz używać nazw hostów. Większość przykładów w dokumentacji używa adresów IP do konfiguracji komponentów.
W przypadku nazw hostów i adresów IP weź pod uwagę konsekwencje tych scenariuszy podczas przenoszenia serwerów Apigee:
| Scenariusz | Wpływ na przenoszenie serwerów |
|---|---|
| zmiana adresu IP, | Zaktualizuj wszystkie powiązane pliki, które odwołują się do pierwotnego adresu IP. |
| Zmiana nazwy hosta bez zmiany adresu IP | Brak wpływu |
| Zmiana nazwy hosta ze zmianą adresu IP | Tak samo jak w przypadku zmiany adresu IP |
Zmienianie adresu IP węzła Cassandra
Aby zmienić adres IP węzła Cassandra, wykonaj te czynności:
W przypadku konfiguracji z jednym węzłem Cassandra
- Edytuj
/opt/apigee/customer/application/cassandra.propertiesw modyfikowanym systemie. Jeśli plik nie istnieje, utwórz go. - Zmień te parametry:
- Ustaw parametry
conf_cassandra_seedsiconf_cassandra_listen_address, aby określić nowy adres IP systemu. - Zmień
conf_cassandra_rpc_address, aby używać nowego adresu IP lub 0.0.0.0 (co umożliwia Cassandra Thrift nasłuchiwanie na wszystkich interfejsach).
- Ustaw parametry
- Otwórz plik
/opt/apigee/apigee-cassandra/conf/cassandra-topology.propertiesw edytorze. W formularzu powinien być widoczny stary adres IP i ustawienie domyślne:192.168.56.101=dc-1:ra-1 default=dc-1:ra-1
Zapisz te informacje.
- Zmodyfikuj plik
/opt/apigee/customer/application/cassandra.properties, aby zmienić stary adres IP na nowy:conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n
Pamiętaj, aby po adresie IP wstawić „\n” i określić te same ustawienia domyślne, które zostały znalezione w kroku 3 powyżej.
- Uruchom ponownie Cassandrę:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- W razie potrzeby napraw też ZooKeeper (patrz poniżej). W przeciwnym razie uruchom ponownie każdy komponent platformy Apigee, zaczynając od serwera zarządzania.
W przypadku konfiguracji z wieloma węzłami Cassandra (pierścień)
- Jeśli zmieniany węzeł jest węzłem początkowym, zmodyfikuj plik
/opt/apigee/customer/application/cassandra.propertiesw każdym systemie w pierścieniu i zmień parametrconf_cassandra_seeds, aby uwzględnić nowy adres IP zmodyfikowanego systemu. Jeśli plik cassandra.properties nie istnieje, utwórz go. - W systemie, który modyfikujesz, edytuj plik
/opt/apigee/customer/application/cassandra.propertiesi zmień te parametry:- Skonfiguruj
conf_cassandra_listen_address, aby używać nowego adresu IP. - Ustaw
conf_cassandra_rpc_addresstak, aby używać nowego adresu IP lub „0.0.0.0” (co pozwala Cassandra Thrift nasłuchiwać na wszystkich interfejsach).
- Skonfiguruj
- Otwórz plik
/opt/apigee/apigee-cassandra/conf/cassandra-topology.propertiesw edytorze. Powinny wyświetlić się wszystkie adresy IP Cassandra i ustawienie domyślne w postaci: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
Zapisz te informacje.
- Zmodyfikuj plik
/opt/apigee/customer/application/cassandra.properties, aby zmienić stary adres IP na nowy: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
Pamiętaj, aby po każdym adresie IP wstawić „\n” i użyć tych samych ustawień domyślnych, które zostały zapisane w kroku 3.
- Uruchom ponownie Cassandrę w zmodyfikowanym systemie. Jeśli zmodyfikowany system jest węzłem początkowym, uruchom ponownie każdy system, który używał zmodyfikowanego węzła początkowego.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- Uruchom polecenie
nodetool ringna zmodyfikowanym węźle, aby upewnić się, że pierścień jest kompletny. Narzędzie znajdziesz na stronie/opt/apigee/apigee-cassandra/bin.nodetool [-u username -pw password] -h localhost ring
Nazwę użytkownika i hasło musisz podać tylko wtedy, gdy uwierzytelnianie JMX jest włączone w Cassandrze.
- Uruchom
nodetool repairna zmodyfikowanym węźle. Pamiętaj, że ten proces może trochę potrwać, dlatego zdecydowanie zalecamy, aby nie przeprowadzać go w godzinach szczytu ruchu w interfejsie API.nodetool [-u username -pw password] -h localhost repair -pr
- Jeśli to konieczne, napraw ZooKeeper (patrz poniżej), a następnie uruchom ponownie każdy komponent platformy Apigee, zaczynając od serwera zarządzania.
Aktualizowanie rejestracji magazynów danych
- Znajdź identyfikatory UUID rejestracji magazynu danych, które określają stary adres IP, za pomocą poniższych poleceń. Zwróć uwagę na parametry „type” i „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]'
Gdzie DC to nazwa centrum danych. W przypadku instalacji w jednym centrum danych wartość to zwykle „dc-1”.
-
- Zarejestruj nowe adresy IP za pomocą jednego z poniższych poleceń. Wymagane polecenie zależy od typu zmienionego węzła.
- W przypadku 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
- Dla 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
- W przypadku 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
- W przypadku type="application-datastore":
- Usuń stare rejestracje dla identyfikatora UUID systemu, w którym adres IP został zmieniony. W przypadku każdego z tych identyfikatorów UUID:
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE
Zmienianie adresu IP węzła ZooKeeper
Aby zmienić adres IP węzła ZooKeeper, wykonaj te czynności:
Zmień adres IP i ponownie uruchom zespół ZooKeeper (tylko w przypadku konfiguracji zespołu z wieloma węzłami)
- Otwórz plik
/opt/apigee/apigee-zookeeper/conf/zoo.cfgw edytorze. Powinny się wyświetlić wszystkie adresy IP ZooKeepera i ustawienie domyślne w postaci:server.1=192.168.56.101:2888:3888 server.2=192.168.56.102:2888:3888 server.3=192.168.56.103:2888:3888
Zapisz te informacje.
- Na każdym węźle ZooKeeper zmodyfikuj plik
/opt/apigee/customer/application/zookeeper.properties, aby ustawić właściwośćconf_zoo_quorumna prawidłowe adresy IP. Jeśli plik nie istnieje, utwórz go.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
Upewnij się, że po każdym adresie IP wstawiasz „\n” i że wpisy są w tej samej kolejności w każdym węźle.
- Znajdź lidera zespołu ZooKeeper, używając tego polecenia (zastąp node adresem IP maszyny ZooKeeper):
echo srvr | nc node 2181
Wiersz Mode w danych wyjściowych powinien zawierać słowo „leader”.
- Uruchom ponownie ZooKeepery jeden po drugim, zaczynając od lidera, a kończąc na węźle, na którym został zmieniony adres IP. Jeśli więcej niż 1 węzeł zookeeper zmienił adres IP, konieczne może być ponowne uruchomienie wszystkich węzłów.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- Aby sprawdzić każdy węzeł ZooKeeper, użyj opisanego powyżej polecenia
echo.
Poinformuj węzły Apigee o zmienionej konfiguracji.
- Na każdym węźle routera zmodyfikuj plik
/opt/apigee/customer/application/router.propertiesw następujący sposób. Jeśli plik nie istnieje, utwórz go.- Zmień parametr
conf_zookeeper_connection.string, aby uwzględnić nowy adres IP. - Zmień parametr
conf_zookeeper_zk1.host, aby uwzględnić nowy adres IP.
- Zmień parametr
- Na każdym węźle procesora komunikatów zmodyfikuj plik
/opt/apigee/customer/application/message-processor.propertiesw następujący sposób. Jeśli plik nie istnieje, utwórz go.- Zmień parametr
conf_zookeeper_connection.string, aby uwzględnić nowy adres IP. - Zmień parametr
conf_zookeeper_zk1.host, aby uwzględnić nowy adres IP.
- Zmień parametr
- W węźle serwera zarządzania zmodyfikuj plik
/opt/apigee/customer/application/management-server.propertiesw ten sposób: Jeśli plik nie istnieje, utwórz go.- Zmień parametr
conf_zookeeper_connection.string, aby uwzględnić nowy adres IP. - Zmień parametr
conf_zookeeper_zk1.host, aby uwzględnić nowy adres IP.
- Zmień parametr
- Uruchom ponownie wszystkie komponenty platformy Apigee, uruchamiając to polecenie w każdym węźle:
/opt/apigee/apigee-service/bin/apigee-all restart
Zmiana adresu IP serwera LDAP (OpenLDAP)
Aby zmienić adres IP węzła OpenLDAP:
- W węźle serwera zarządzania zmodyfikuj plik
/opt/apigee/customer/application/management-server.properties. Jeśli plik nie istnieje, utwórz go. - W pliku
management-server.propertiesustaw parametrconf_security_ldap.server.hostna nowy adres IP. - Ponownie uruchom serwer zarządzania:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Zmiana adresu IP innych typów węzłów Apigee
Aby zmienić adres IP dowolnego z tych typów węzłów (router, procesor komunikatów, serwer Postgres (nie postgresql) i serwer Qpid (nie qpidd):
- Użyj tego polecenia
curl, aby zarejestrować nowy wewnętrzny i zewnętrzny adres 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=ipGdzie uuid to identyfikator UUID węzła.
Informacje o tym, jak uzyskać identyfikator UUID komponentu, znajdziesz w artykule Uzyskiwanie identyfikatorów UUID.