Przenoszenie serwerów Apigee

Edge for Private Cloud w wersji 4.19.01

Przenoszenie komponentów z jednego komputera na drugi może spowodować niezgodność konfiguracji, jeśli adresy IP w plikach konfiguracji komponentów nie są zsynchronizowane.

Ta sekcja zawiera informacje na temat diagnozowania i naprawiania 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 pozwalają na używanie nazw hostów zamiast adresów IP, używanie nazw hostów może utrudnić rozwiązywanie problemów. Nazwy hostów mogą na przykład być źródłem problemów związanych z połączeniem z serwerem DNS, niepowodzeniami wyszukiwania i synchronizacją.

Z tego powodu Apigee zdecydowanie zaleca używanie adresów IP we wszystkich konfiguracjach komponentów. W niektórych przypadkach, takich jak w systemie Cassandra, musisz używać adresów IP i nie możesz używać nazw hostów. W większości przykładów w dokumentacji do konfigurowania komponentu służą adresy IP.

W przypadku nazw hostów i adresów IP podczas przenoszenia serwerów Apigee weź pod uwagę konsekwencje opisane w poniższych scenariuszach:

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 wraz ze zmianą adresu IP Tak samo jak przy zmianie adresu IP

Zmiana adresu IP węzła Cassandra

Aby zmienić adres IP węzła Cassandra, wykonaj te czynności:

Na potrzeby konfiguracji z jednym węzłem Cassandra

  1. Edytuj /opt/apigee/customer/application/cassandra.properties w zmodyfikowanym systemie. Jeśli plik nie istnieje, utwórz go.
  2. Zmień te parametry:
    • Ustaw parametry conf_cassandra_seeds i conf_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 (dzięki temu Cassandra Thrift może nasłuchiwać we wszystkich interfejsach).
  3. Otwórz plik /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties w edytorze. Powinien wyświetlić się stary adres IP i domyślne ustawienia w formacie:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    Zapisz te informacje.

  4. Edytuj /opt/apigee/customer/application/cassandra.properties, aby zmienić stary adres IP podany na nowy:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Wpisz „\n” po adresie IP i określ te same ustawienia domyślne, które opisaliśmy powyżej w kroku 3.

  5. Uruchom ponownie Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Jeśli to konieczne, napraw również ZooKeeper (patrz poniżej). W przeciwnym razie uruchom ponownie każdy komponent platformy Apigee, zaczynając od serwera zarządzania.

Na potrzeby konfiguracji z wieloma węzłami Cassandra (pierścień)

  1. Jeśli zmieniany węzeł jest węzłem wyjściowym, edytuj plik /opt/apigee/customer/application/cassandra.properties w każdym systemie w pierścieniu i zmień parametr conf_cassandra_seeds, tak aby zawierał nowy adres IP zmodyfikowanego systemu. Jeśli plik cassandra.properties nie istnieje, utwórz go.
  2. Edytuj /opt/apigee/customer/application/cassandra.properties w zmodyfikowanym systemie i zmień te parametry:
    • W conf_cassandra_listen_address powinien być używany nowy adres IP.
    • Ustaw conf_cassandra_rpc_address tak, aby używał nowego adresu IP lub „0.0.0.0” (dzięki temu Cassandra Thrift może nasłuchiwać we wszystkich interfejsach).
  3. Otwórz plik /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties w edytorze. Wszystkie adresy IP Cassandra i ustawienia domyślne powinny mieć postać:
    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.

  4. Edytuj /opt/apigee/customer/application/cassandra.properties, aby zmienić stary adres IP podany 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

    Wpisz „\n” po każdym adresie IP i użyj tych samych ustawień domyślnych, które zostały zarejestrowane w kroku 3.

  5. Uruchom ponownie Cassandra w zmodyfikowanym systemie. Jeśli zmodyfikowany system jest węzłem wyjściowym, uruchom też ponownie każdy system, który używał zmodyfikowanego węzła wyjściowego.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Uruchom polecenie nodetool ring w zmodyfikowanym węźle, aby mieć pewność, że pierścień jest kompletny. Narzędzie jest dostępne pod adresem /opt/apigee/apigee-cassandra/bin.
    nodetool [-u username -pw password] -h localhost ring

    Nazwę użytkownika i hasło musisz podać tylko wtedy, gdy masz włączone uwierzytelnianie JMX w systemie Cassandra.

  7. Uruchom nodetool repair w zmodyfikowanym węźle. Pamiętaj, że ten proces może zająć trochę czasu, dlatego zdecydowanie zalecamy, aby nie wykonywać go w godzinach szczytu ruchu przez interfejsy API.
    nodetool [-u username -pw password] -h localhost repair -pr
  8. W razie potrzeby napraw ZooKeeper (patrz poniżej), a następnie uruchom ponownie każdy komponent platformy Apigee, zaczynając od serwera zarządzania.

Zaktualizuj rejestracje w magazynie danych

  1. Znajdź identyfikatory UUID rejestracji magazynu danych określające 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&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]'

      Gdzie DC to nazwa centrum danych. W przypadku pojedynczej instalacji centrum danych wartość wynosi zwykle „dc-1”.

  2. 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&region=REGION&pod=central" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST
    • W przypadku 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
    • W przypadku 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. Usuń stare rejestracje identyfikatora UUID systemu, w którym został zmieniony adres IP. W przypadku każdego z tych problemów z identyfikatorem UUID:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

Zmiana adresu IP węzła ZooKeeper

Aby zmienić adres IP węzła ZooKeeper:

Zmień adres IP i ponownie uruchom zespół ZooKeeper (tylko w przypadku konfiguracji zgrupowanych z wieloma węzłami)

  1. Otwórz plik /opt/apigee/apigee-zookeeper/conf/zoo.cfg w edytorze. Wszystkie adresy IP i ustawienia domyślne ZooKeeper powinny mieć postać:
    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.

  2. W każdym węźle ZooKeeper edytuj plik /opt/apigee/customer/application/zookeeper.properties, aby ustawić we właściwości conf_zoo_quorum 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

    Sprawdź, czy po każdym adresie IP wstawiasz znak „\n” i czy wpisy są podane w tej samej kolejności w każdym węźle.

  3. Znajdź lidera zespołu ZooKeeper, używając tego polecenia (zastąp node adresem IP maszyny Zookeeper):
    echo srvr | nc node 2181

    Wiersz trybu w danych wyjściowych powinien zawierać tekst „leader”.

  4. Uruchom ponownie jeden ZooKeeper po drugim, zaczynając od repliki wiodącej i kończąc węzłem, w którym został zmieniony adres IP. Jeśli więcej niż 1 węzeł zookeeper zmienił adresy IP, może być konieczne ponowne uruchomienie wszystkich węzłów.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. Użyj opisanego powyżej polecenia echo, aby sprawdzić każdy węzeł ZooKeeper.

Poinformuj węzły Apigee o zmienionej konfiguracji

  1. W każdym węźle routera zmodyfikuj plik /opt/apigee/customer/application/router.properties w 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
  2. W każdym węźle procesora wiadomości zmodyfikuj plik /opt/apigee/customer/application/message-processor.properties w 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
  3. W węźle serwera zarządzania zmodyfikuj plik /opt/apigee/customer/application/management-server.properties w 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
  4. Ponownie uruchom cały komponent platformy Apigee, uruchamiając w każdym węźle to polecenie:
    /opt/apigee/apigee-service/bin/apigee-all restart

Zmiana adresu IP serwera LDAP (OpenLDAP)

Aby zmienić adres IP węzła OpenLDAP, wykonaj te czynności:

  1. W węźle serwera zarządzania edytuj plik /opt/apigee/customer/application/management-server.properties. Jeśli plik nie istnieje, utwórz go.
  2. W pliku management-server.properties ustaw parametr conf_security_ldap.server.host na nowy adres IP.
  3. Ponownie uruchom serwer zarządzania:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Zmiana adresów IP innych typów węzłów Apigee

Aby zmienić adres IP dowolnego z tych typów węzłów (router, procesor wiadomości, serwer Postgres (nie postgresql) i serwer Qpid (nie qpidd):

  1. Aby zarejestrować nowy wewnętrzny i zewnętrzny adres IP, użyj tego polecenia 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

    Gdzie uuid to identyfikator UUID węzła.

Informacje na temat tego, jak uzyskać identyfikator UUID komponentu, znajdziesz w artykule na temat pobierania identyfikatorów UUID.