Przenoszenie serwerów Apigee

Przeniesienie komponentów z jednego urządzenia na drugie może spowodować niezgodność konfiguracji, jeśli nie będziesz synchronizować adresów IP w plikach konfiguracji komponentów.

W tej sekcji opisujemy, jak diagnozować i naprawiać niezgodności konfiguracji.

Adresy IP a nazwy hostów

W plikach konfiguracji komponentów należy używać adresów IP zamiast nazw hostów.

Niektóre pliki konfiguracji komponentów umożliwiają używanie nazw hostów zamiast adresów IP, ale może to utrudniać rozwiązywanie problemów. Na przykład nazwy hostów mogą być źródłem problemów związanych z łącznością z serwerem DNS, nieudanym wyszukiwaniem i synchronizacją.

Dlatego Apigee zdecydowanie zaleca używanie adresów IP we wszystkich konfiguracjach komponentów. W niektórych przypadkach, np. w przypadku bazy danych Cassandra, musisz używać adresów IP, a nie nazw hostów. Większość przykładów w dokumentacji używa adresów IP do konfigurowania komponentów.

W przypadku nazw hostów i adresów IP podczas przenoszenia serwerów Apigee weź pod uwagę konsekwencje tych scenariuszy:

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 zmiana adresu IP

Zmiana 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

  1. Edytuj /opt/apigee/customer/application/cassandra.properties na modyfikowanym systemie. Jeśli plik nie istnieje, utwórz go.
  2. Zmień te parametry:
    • Ustaw parametry conf_cassandra_seedsconf_cassandra_listen_address, aby określić nowy adres IP systemu.
    • Zmień conf_cassandra_rpc_address, aby używać nowego adresu IP lub adresu 0.0.0.0 (który umożliwia nasłuchiwanie Cassandra Thrift na wszystkich interfejsach).
  3. Otwórz plik /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties w 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.

  4. Edytuj /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

    Po adresie IP wstaw znak „\n” i określ te same ustawienia domyślne, które zostały podane w kroku 3.

  5. Uruchom ponownie Cassandrę:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. W razie potrzeby napraw też ZooKeepera (patrz Zmiana adresu IP węzła ZooKeepera). W przeciwnym razie uruchom ponownie wszystkie komponenty platformy Apigee, zaczynając od serwera zarządzania.

W przypadku konfiguracji z wieloma węzłami Cassandra (pierścień)

  1. Jeśli zmieniany węzeł jest węzłem początkowym, edytuj plik /opt/apigee/customer/application/cassandra.properties na każdym systemie w pierścieniu i zmień parametr conf_cassandra_seeds, aby uwzględnić nowy adres IP zmodyfikowanego systemu. Jeśli plik cassandra.properties nie istnieje, utwórz go.
  2. Edytuj /opt/apigee/customer/application/cassandra.properties w modyfikowanym systemie i zmień te parametry:
    • Ustaw conf_cassandra_listen_address, aby używać nowego adresu IP.
    • Ustaw 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).
  3. Otwórz plik /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties w edytorze. W formularzu powinny być widoczne wszystkie adresy IP Cassandry i ustawienia domyślne:
    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 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

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

  5. Uruchom ponownie Cassandrę w zmodyfikowanym systemie.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. W przypadku wszystkich pozostałych węzłów powtórz zmiany wprowadzone w krokach 3 i 4, aby poinformować je o pozycji tego węzła w pierścieniu Cassandra. Dodatkowo zmień adres IP węzła początkowego zgodnie z instrukcjami w kroku 1.
  7. Uruchom ponownie każdy z pozostałych węzłów Cassandra.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  8. Uruchom polecenie nodetool ring na 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
  9. Uruchom nodetool repair na zmodyfikowanym węźle. Pamiętaj, że ten proces może zająć trochę czasu, dlatego zdecydowanie zalecamy, aby nie przeprowadzać go w godzinach największego ruchu w interfejsie API.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. W razie potrzeby napraw ZooKeepera (patrz Zmiana adresu IP węzła ZooKeeper), a następnie ponownie uruchom wszystkie komponenty platformy Apigee, zaczynając od serwera zarządzania.

Aktualizowanie rejestracji w magazynie danych

  1. Znajdź identyfikatory UUID rejestracji magazynu danych, w których określono stary adres IP, za pomocą tych 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 instalacji w jednym centrum danych wartość jest zwykle ustawiona na „dc-1”.

  2. Zarejestruj nowe adresy IP, wpisując jedno z tych 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 zmieniono adres IP. W przypadku każdego z tych identyfikatorów 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, wykonaj te czynności:

Zmień adres IP i ponownie uruchom zespół ZooKeeper (tylko w przypadku konfiguracji zespołu wielowęzłowego).

  1. Otwórz plik /opt/apigee/apigee-zookeeper/conf/zoo.cfg w edytorze. Powinny się wyświetlić wszystkie adresy IP ZooKeepera i ustawienie domyślne w formacie:
    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. Na każdym węźle ZooKeepera edytuj plik /opt/apigee/customer/application/zookeeper.properties, aby ustawić właściwość conf_zoo_quorum na 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 wstawisz znak „\n” i że wpisy są w tej samej kolejności na 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 Mode w danych wyjściowych powinien zawierać wartość „leader”.

  4. Uruchom ponownie po kolei wszystkie serwery ZooKeeper, zaczynając od serwera głównego, a kończąc na węźle, w którym zmieniono adres IP. Jeśli adresy IP zmieniły się w przypadku więcej niż jednego węzła Zookeeper, może być konieczne ponowne uruchomienie wszystkich węzłów.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. Aby zweryfikować każdy węzeł ZooKeeper, użyj opisanego powyżej polecenia echo.

Powiadamianie węzłów Apigee o zmienionej konfiguracji

  1. Na każdym węźle Routera zmień plik /opt/apigee/customer/application/router.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.
  2. Na każdym węźle procesora wiadomości zmień plik /opt/apigee/customer/application/message-processor.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.
  3. Na węźle serwera zarządzającego zmodyfikuj plik /opt/apigee/customer/application/management-server.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.
  4. Uruchom ponownie wszystkie komponenty platformy Apigee, wykonując to polecenie w każdym węźle:
    /opt/apigee/apigee-service/bin/apigee-all restart

Zmiana adresu IP serwera LDAP (SymasLDAP)

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

  1. Na węźle serwera zarządzania zmodyfikuj plik /opt/apigee/customer/application/management-server.properties file. 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 adresu IP innych typów węzłów Apigee

Aby zmienić adres IP dowolnego z tych typów węzłów (Router, Message Processor, Postgres Server (nie postgresql) i Qpid Server (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 o tym, jak uzyskać identyfikator UUID komponentu, znajdziesz w artykule Uzyskiwanie identyfikatorów UUID.