Przenoszenie serwerów Apigee

Edge dla chmury prywatnej w wersji 4.17.01

Komponenty Apigee używają adresów IP do komunikacji między sobą. Przenoszenie komponentów z jednego komputera na inny może spowodować niezgodność konfiguracji. Aby rozwiązać problemy z niezgodnością konfiguracji, postępuj zgodnie z odpowiednimi instrukcjami poniżej.

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

  1. Edytuj plik /opt/apigee/customer/application/cassandra.properties w modyfikowanym 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 (co umożliwia Cassandra Thrift nasłuchiwanie na 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 ustawienie w postaci:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1


    Zapisz te informacje.
  4. 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 podać te same ustawienia domyślne, które zostały znalezione w kroku 3 powyżej.
  5. Uruchom ponownie Cassandrę:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. 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ń)

  1. Jeśli zmieniany węzeł jest węzłem zalążkowym, zmodyfikuj plik /opt/apigee/customer/application/cassandra.properties w 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. Zmodyfikuj plik /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 pozwala Cassandra Thrift nasłuchiwać na wszystkich interfejsach).
  3. Otwórz plik /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties w edytorze. Powinny wyświetlić się wszystkie adresy IP Cassandra i ustawienia 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.
  4. Edytuj 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.
  5. 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
  6. Uruchom polecenie nodetool ring na zmodyfikowanym węźle, aby upewnić się, że pierścień jest kompletny. Narzędzie znajdziesz w opt/apigee/apigee-cassandra/bin.
    > nodetool -h localhost ring
  7. Uruchom nodetool repair na zmodyfikowanym węźle. Pamiętaj, że ten proces może trochę potrwać, dlatego zdecydowanie zalecamy, aby nie wykonywać go w godzinach szczytu ruchu w interfejsie API.
    > nodetool -h localhost repair
  8. W razie potrzeby napraw ZooKeeper (patrz poniżej), a następnie uruchom ponownie wszystkie komponenty platformy Apigee, zaczynając od serwera zarządzania.

Aktualizowanie rejestracji magazynów danych

  1. 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&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 instalacji w jednym centrum danych wartość to 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.

    Uwaga: parametr REGION poniżej odnosi się do centrum danych, w którym znajduje się klaster. Na przykład w celu zapewnienia wysokiej dostępności zwykle masz klaster w dc-1 (centrum danych 1) i klaster w dc-2 (centrum danych 2). Ten parametr jest definiowany podczas instalacji. Wartością domyślną jest dc-1.
    • Dla 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
    • Dla 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 dla identyfikatora UUID systemu, w którym adres IP został zmieniony. Dla każdego z tych identyfikatorów UUID uruchom polecenie:
    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)

  1. Otwórz plik /opt/apigee/apigee-zookeeper/conf/zoo.cfg w edytorze. Powinny wyświetlić się wszystkie adresy IP ZooKeeper i ustawienia 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.
  2. W każdym węźle ZooKeeper zmodyfikuj 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

    Pamiętaj, aby po każdym adresie IP wstawić „\n” i aby wpisy były 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 Mode w danych wyjściowych powinien zawierać słowo „leader”.
  4. Uruchom ponownie ZooKeeper, 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
  5. Aby sprawdzić każdy węzeł ZooKeeper, użyj opisanego powyżej polecenia echo.

Poinformuj węzły Apigee o zmienionej konfiguracji.

  1. Na każdym węźle routera zmodyfikuj plik /opt/apigee/customer/application/router.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.
  2. Na każdym węźle procesora komunikatów zmodyfikuj plik /opt/apigee/customer/application/message-processor.properties w następujący sposób. Jeśli plik nie istnieje, utwórz go.
    • Zmień parametr conf_zookeeper_connection.string, tak aby zawierał 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, tak aby zawierał nowy adres IP.
    • Zmień parametr conf_zookeeper_zk1.host, aby uwzględnić nowy adres IP.
  4. Uruchom ponownie wszystkie komponenty platformy Apigee, uruchamiając to polecenie w każdym węźle:
    /opt/apigee/apigee-service/bin/apigee-all restart

Zmienianie adresu IP serwera LDAP (OpenLDAP)

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

  1. W węźle serwera zarządzania zmodyfikuj 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. Uruchom ponownie serwer zarządzania:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Zmienianie 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):

  1. 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=<ip>


    gdzie uuid to identyfikator UUID węzła.

Jeśli nie znasz identyfikatora UUID węzła, możesz go wyświetlić za pomocą tego polecenia:

  • Router: curl http://<router_IP>:8081/v1/servers/self
  • Procesor komunikatów: curl http://<mp_IP>:8082/v1/servers/self
  • Qpid curl http://<qp_IP>:8083/v1/servers/self
  • Postgres curl http://<pg_IP>:8084/v1/servers/self