Spostamento di server Apigee

Edge for Private Cloud v. 4.17.01

I componenti Apigee utilizzano gli indirizzi IP per comunicare tra loro. Lo spostamento di componenti da una macchina all'altra potrebbe causare una mancata corrispondenza della configurazione. Per correggere le mancate corrispondenze di configurazione, segui le istruzioni pertinenti riportate di seguito.

Modifica dell'indirizzo IP di un nodo Cassandra

Per modificare l'indirizzo IP di un nodo Cassandra, segui questi passaggi:

Per le configurazioni con un singolo nodo Cassandra

  1. Modifica /opt/apigee/customer/application/cassandra.properties sul sistema in fase di modifica. Se il file non esiste, crealo.
  2. Modifica i seguenti parametri:
    • Imposta i parametri conf_cassandra_seeds e conf_cassandra_listen_address per specificare il nuovo indirizzo IP del sistema.
    • Modifica conf_cassandra_rpc_address in modo da utilizzare il nuovo indirizzo IP o 0.0.0.0 (che consente a Cassandra Thrift di ascoltare su tutte le interfacce).
  3. Apri /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties in un editor. Dovresti vedere il vecchio indirizzo IP e l'impostazione predefinita nel modulo:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1


    Salva queste informazioni.
  4. Modifica /opt/apigee/customer/application/cassandra.properties per modificare il vecchio indirizzo IP specificato nel nuovo indirizzo IP:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Assicurati di inserire "\n" dopo l'indirizzo IP e di specificare le stesse impostazioni predefinite che hai trovato nel passaggio 3 precedente.
  5. Riavvia Cassandra:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Se necessario, ripara anche ZooKeeper (vedi sotto), altrimenti riavvia ogni componente della piattaforma Apigee a partire dal server di gestione.

Per le configurazioni con più nodi Cassandra (anello)

  1. Se il nodo che viene modificato è un nodo seed, modifica il file /opt/apigee/customer/application/cassandra.properties su ogni sistema nell'anello e modifica il parametro conf_cassandra_seeds in modo da includere il nuovo IP del sistema modificato. Se il file cassandra.properties non esiste, crealo.
  2. Modifica /opt/apigee/customer/application/cassandra.properties sul sistema in fase di modifica e cambia i seguenti parametri:
    • Imposta conf_cassandra_listen_address in modo che utilizzi il nuovo indirizzo IP.
    • Imposta conf_cassandra_rpc_address in modo che utilizzi il nuovo indirizzo IP o 0.0.0.0 (che consente a Cassandra Thrift di ascoltare su tutte le interfacce).
  3. Apri /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties in un editor. Dovresti vedere tutti gli indirizzi IP di Cassandra e l'impostazione predefinita nel modulo:
    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


    Salva queste informazioni.
  4. Modifica /opt/apigee/customer/application/cassandra.properties per cambiare il vecchio indirizzo IP specificato con il nuovo indirizzo 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

    Assicurati di inserire "\n" dopo ogni indirizzo IP e utilizza le stesse impostazioni predefinite registrate nel passaggio 3 precedente.
  5. Riavvia Cassandra sul sistema modificato. Se il sistema modificato è un nodo seed, riavvia anche ogni sistema che ha utilizzato il nodo seed modificato.
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Esegui il comando nodetool ring sul nodo modificato per assicurarti che l'anello sia completo. L'utilità si trova in opt/apigee/apigee-cassandra/bin.
    > nodetool -h localhost ring
  7. Esegui nodetool repair sul nodo modificato. Tieni presente che questa procedura potrebbe richiedere del tempo, pertanto ti consigliamo vivamente di non eseguirla durante le ore di picco del traffico API.
    > nodetool -h localhost repair
  8. Se necessario, ripara ZooKeeper (vedi sotto), quindi riavvia ogni componente della piattaforma Apigee, a partire dal server di gestione.

Aggiorna le registrazioni del datastore

  1. Trova gli UUID delle registrazioni del datastore che specificano il vecchio indirizzo IP utilizzando i comandi seguenti. Prendi nota dei parametri "type" e "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)'

      dove DC è il nome del data center. In un'installazione in un singolo data center, il valore è in genere "dc-1".
  2. Registra i nuovi indirizzi IP utilizzando uno dei comandi riportati di seguito. Il comando necessario dipende dal tipo di nodo modificato.

    Nota: il parametro REGION di seguito si riferisce al data center in cui si trova il cluster. Ad esempio, per l'alta affidabilità, in genere avresti un cluster in dc-1 (Data Center 1) e un cluster in dc-2 (Data Center 2). Questo parametro viene definito al momento dell'installazione. Il valore predefinito è dc-1.
    • Per 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
    • Per 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
    • Per 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. Elimina le vecchie registrazioni per l'UUID del sistema su cui è stato modificato l'indirizzo IP. Per ciascuno di questi UUID, esegui:
    curl -u $ADMINEMAIL:$PW "http://$MSIP:$port/v1/servers/${OLD_UUID}" -X DELETE

Modifica dell'indirizzo IP di un nodo ZooKeeper

Per modificare l'indirizzo IP di un nodo ZooKeeper, segui questi passaggi:

Modifica l'indirizzo IP e riavvia l'ensemble ZooKeeper (solo per le configurazioni di ensemble multi-nodo)

  1. Apri /opt/apigee/apigee-zookeeper/conf/zoo.cfg in un editor. Dovresti vedere tutti gli indirizzi IP di ZooKeeper e l'impostazione predefinita nel formato:
    server.1=192.168.56.101:2888:3888
    server.2=192.168.56.102:2888:3888
    server.3=192.168.56.103:2888:3888


    Salva queste informazioni.
  2. In ogni nodo ZooKeeper, modifica il file /opt/apigee/customer/application/zookeeper.properties per impostare la proprietà conf_zoo_quorum sugli indirizzi IP corretti. Se il file non esiste, crealo.
    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

    Assicurati di inserire "\n" dopo ogni indirizzo IP e che le voci siano nello stesso ordine su ogni nodo.
  3. Trova il leader dell'ensemble ZooKeeper utilizzando il seguente comando (sostituisci <node> con l'indirizzo IP della macchina Zookeeper):
    echo srvr | nc <node> 2181

    La riga Mode nell'output dovrebbe indicare "leader".
  4. Riavvia un ZooKeeper dopo l'altro, iniziando con il leader e terminando con il nodo su cui è stato modificato l'indirizzo IP. Se più di un nodo ZooKeeper ha cambiato indirizzo IP, potrebbe essere necessario riavviare tutti i nodi.
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. Utilizza il comando echo descritto sopra per verificare ogni nodo ZooKeeper.

Informa i nodi Apigee della modifica della configurazione

  1. In ogni nodo Router, modifica il file /opt/apigee/customer/application/router.properties come segue. Se il file non esiste, crealo.
    • Modifica il parametro stringa conf_zookeeper_connection in modo da includere il nuovo indirizzo IP.
    • Modifica il parametro conf_zookeeper_zk1.host in modo da includere il nuovo indirizzo IP.
  2. In ogni nodo del processore di messaggi, modifica il file /opt/apigee/customer/application/message-processor.properties come segue. Se il file non esiste, crealo.
    • Modifica il parametro conf_zookeeper_connection.string in modo da includere il nuovo indirizzo IP.
    • Modifica il parametro conf_zookeeper_zk1.host in modo da includere il nuovo indirizzo IP.
  3. Sul nodo del server di gestione, modifica il file /opt/apigee/customer/application/management-server.properties come segue. Se il file non esiste, crealo.
    • Modifica il parametro conf_zookeeper_connection.string in modo da includere il nuovo indirizzo IP.
    • Modifica il parametro conf_zookeeper_zk1.host in modo da includere il nuovo indirizzo IP.
  4. Riavvia tutti i componenti della piattaforma Apigee eseguendo il seguente comando su ogni nodo:
    /opt/apigee/apigee-service/bin/apigee-all restart

Modifica dell'indirizzo IP di un server LDAP (OpenLDAP)

Per modificare l'indirizzo IP di un nodo OpenLDAP, segui questi passaggi:

  1. Sul nodo del server di gestione, modifica il file /opt/apigee/customer/application/management-server.properties. Se il file non esiste, crealo.
  2. Nel file management-server.properties, imposta il parametro conf_security_ldap.server.host sul nuovo indirizzo IP.
  3. Riavvia il server di gestione:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Modifica dell'indirizzo IP di altri tipi di nodi Apigee

Per modificare l'indirizzo IP di uno di questi tipi di nodi (router, processore di messaggi, server Postgres (non postgresql) e server Qpid (non qpidd):

  1. Utilizza il seguente comando cURL per registrare il nuovo indirizzo IP interno ed esterno:
    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>


    dove uuid è l'UUID del nodo.

Se non conosci l'UUID del nodo, puoi utilizzare il seguente comando per visualizzarlo:

  • Router: curl http://<router_IP>:8081/v1/servers/self
  • Processore di messaggi: 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