Migrer des serveurs Apigee

Edge pour Private Cloud version 4.17.05

Les composants Apigee utilisent des adresses IP pour communiquer entre eux. Le déplacement de composants d'une machine à une autre peut entraîner une non-concordance de la configuration. Pour corriger les incohérences de configuration, suivez les instructions pertinentes ci-dessous.

Modifier l'adresse IP d'un nœud Cassandra

Pour modifier l'adresse IP d'un nœud Cassandra, procédez comme suit:

Pour les configurations avec un seul nœud Cassandra

  1. Modifiez /opt/apigee/customer/application/cassandra.properties sur le système en cours de modification. Si le fichier n'existe pas, créez-le.
  2. Modifiez les paramètres suivants :
    • Définissez les paramètres conf_cassandra_seeds et conf_cassandra_listen_address pour spécifier la nouvelle adresse IP du système.
    • Modifiez conf_cassandra_rpc_address pour utiliser la nouvelle adresse IP ou 0.0.0.0 (ce qui permet à Cassandra Thrift d'écouter sur toutes les interfaces).
  3. Ouvrez /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties dans un éditeur. L'ancienne adresse IP et le paramètre par défaut devraient apparaître au format suivant:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1


    Enregistrez ces informations.
  4. Modifiez /opt/apigee/customer/application/cassandra.properties pour remplacer l'ancienne adresse IP spécifiée par la nouvelle:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Veillez à insérer "\n" après l'adresse IP par défaut, comme vous l'avez trouvée ci-dessus.
  5. Redémarrez Cassandra:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Si nécessaire, réparez également ZooKeeper (voir ci-dessous). Sinon, redémarrez chaque composant de la plate-forme Apigee en commençant par le serveur de gestion.

Pour les configurations comportant plusieurs nœuds Cassandra (anneau)

  1. Si le nœud en cours de modification est un nœud source, modifiez le fichier /opt/apigee/customer/application/cassandra.properties sur chaque système de l'anneau, puis modifiez le paramètre conf_cassandra_seeds pour inclure la nouvelle adresse IP du système modifié. Si le fichier cassandra.properties n'existe pas, créez-le.
  2. Modifiez /opt/apigee/customer/application/cassandra.properties sur le système en cours de modification, ainsi que les paramètres suivants :
    • Définissez conf_cassandra_listen_address pour utiliser la nouvelle adresse IP.
    • Définissez conf_cassandra_rpc_address pour utiliser la nouvelle adresse IP ou 0.0.0.0 (ce qui permet à Cassandra Thrift d'écouter sur toutes les interfaces).
  3. Ouvrez /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties dans un éditeur. Toutes les adresses IP Cassandra et les paramètres par défaut doivent s'afficher au format suivant:
    192.168.56.101=dc-1:ra-1
    192.168.56.102=dc-1:ra-1
    192.168.56.103=dc-1:ra-1:


  4. Modifiez /opt/apigee/customer/application/cassandra.properties pour remplacer l'ancienne adresse IP spécifiée par la nouvelle :
    /opt/apigee/customer/application/cassandra.properties

    n192.168.56.104
  5. Redémarrez Cassandra sur le système modifié. Si le système modifié est un nœud source, redémarrez également chaque système ayant utilisé le nœud source modifié.
    > /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra redémarrer
  6. Exécutez la commande nodetool ring sur le nœud modifié pour vous assurer que l'anneau est terminé. L'utilitaire se trouve dans opt/apigee/apigee-cassandra/bin.
    > nodetool -h localhost ring
  7. Exécutez nodetool Repair sur le nœud modifié. Notez que ce processus peut prendre un certain temps. Il est donc vivement recommandé de ne pas l'effectuer pendant les heures de pointe du trafic API.
    > nodetool -h localhost repair
  8. Si nécessaire, réparez ZooKeeper (voir ci-dessous), puis redémarrez chaque composant de la plate-forme Apigee en commençant par le serveur de gestion.

Mettre à jour les enregistrements du datastore

  1. Recherchez les UUID des enregistrements de datastores spécifiant l'ancienne adresse IP à l'aide des commandes ci-dessous. Notez les paramètres "type" et "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)'

      DC correspond au nom du centre de données. Dans une installation de centre de données unique, la valeur est généralement dc-1.
  2. Enregistrez les nouvelles adresses IP à l'aide de l'une des commandes ci-dessous. La commande requise dépend du type du nœud modifié.

    Remarque: Le paramètre REGION ci-dessous fait référence au centre de données dans lequel se trouve le cluster. Par exemple, pour la haute disponibilité, vous avez généralement un cluster dans dc-1 (Centre de date 1) et un cluster dans dc-2 (Centre de données 2). Ce paramètre est défini au moment de l'installation. La valeur par défaut est dc-1.
    • Pour 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-urlcoded'
    • For 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-content'&region=D{ POXIP-WAY}&region=D{ POX-POST_WAY}
    • Pour 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-url-urlcoded'
  3. Supprimez les anciens enregistrements de l'UUID du système sur lequel l'adresse IP a été modifiée. Pour chacun de ces UUID:
    curl -u $ADMINEMAIL:$PW "http://$MSIP:$port/v1/servers/${OLD_UUID}" -X DELETE

Modifier l'adresse IP d'un nœud ZooKeeper

Pour modifier l'adresse IP d'un nœud ZooKeeper, procédez comme suit:

Modifiez l'adresse IP et redémarrez l'ensemble ZooKeeper (pour les configurations d'ensemble multinœuds uniquement).

  1. Ouvrez /opt/apigee/apigee-zookeeper/conf/zoo.cfg dans un éditeur. Toutes les adresses IP de ZooKeeper ainsi que le paramètre par défaut devraient apparaître dans le format suivant :
    server.1=192.168.56.101:2888:3888
    server.2=192.168.56.102:2888:3888
    server.3=192.168.58.80


  2. Sur chaque nœud ZooKeeper, modifiez le fichier /opt/apigee/customer/application/zookeeper.properties pour définir la propriété conf_zoo_quorum sur les adresses IP appropriées. Si le fichier n'existe pas, créez-le.
    conf_zoo_quorum=server.1=192.168.56.101:2888:3888nserver.2=192.168.56.102:2888:3888nserver.3=192.168.56.104:2888:3888n
  3. Recherchez la variante optimale de l'ensemble ZooKeeper à l'aide de la commande suivante (remplacez <node> par l'adresse IP de la machine Zookeeper):
    echo srvr | nc <node> 2181

    La ligne Mode du résultat doit indiquer "leader".
  4. Redémarrez l'un d'entre eux après l'autre, en commençant par le nœud leader et en terminant par le nœud sur lequel l'adresse IP a été modifiée. Si plusieurs nœuds Zookeeper ont modifié les adresses IP, il peut être nécessaire de redémarrer tous les nœuds.
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. Utilisez la commande echo décrite ci-dessus pour vérifier chaque nœud ZooKeeper.

Informer les nœuds Apigee de la modification de la configuration

  1. Sur chaque nœud de routeur, modifiez le fichier /opt/apigee/customer/application/router.properties comme suit. Si le fichier n'existe pas, créez-le.
    • Modifiez le paramètre conf_zookeeper_connection.string pour inclure la nouvelle adresse IP.
    • Modifiez le paramètre conf_zookeeper_zk1.host pour inclure la nouvelle adresse IP.
  2. Sur chaque nœud de processeur de messages, modifiez le fichier /opt/apigee/customer/application/message-processor.properties comme suit. Si le fichier n'existe pas, créez-le.
    • Modifiez le paramètre conf_zookeeper_connection.string pour inclure la nouvelle adresse IP.
    • Modifiez le paramètre conf_zookeeper_zk1.host pour inclure la nouvelle adresse IP.
  3. Sur le nœud du serveur de gestion, modifiez le fichier /opt/apigee/customer/application/management-server.properties comme suit. Si le fichier n'existe pas, créez-le.
    • Modifiez le paramètre conf_zookeeper_connection.string pour inclure la nouvelle adresse IP.
    • Modifiez le paramètre conf_zookeeper_zk1.host pour inclure la nouvelle adresse IP.
  4. Redémarrez tous les composants de la plate-forme Apigee en exécutant la commande suivante sur chaque nœud:
    /opt/apigee/apigee-service/bin/apigee-all restart

Modifier l'adresse IP d'un serveur LDAP (OpenLDAP)

Pour modifier l’adresse IP d’un nœud OpenLDAP, procédez comme suit:

  1. Sur le nœud du serveur de gestion, modifiez le fichier /opt/apigee/customer/application/management-server.properties. Si le fichier n'existe pas, créez-le.
  2. Dans le fichier management-server.properties, définissez le paramètre conf_security_ldap.server.host sur la nouvelle adresse IP.
  3. Redémarrez le serveur de gestion:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server restart

Modifier l'adresse IP d'autres types de nœuds Apigee

Pour modifier l'adresse IP de l'un de ces types de nœuds (routeur, processeur de messages, serveur Postgres (pas postgresql) et serveur Qpid (non qpidd):

  1. Exécutez la commande cURL suivante pour enregistrer la nouvelle adresse IP interne et externe :
    curl -u $ADMINEMAIL:$PW -X PUT http://$MSIP:8080/v1/servers/<uuid> -d ExternalIP=<ip>
    curl -u $ADMINEMAIL:$PW -X ip:

Si vous ne connaissez pas l'UUID du nœud, vous pouvez utiliser la commande suivante pour l'afficher:

  • Routeur: curl http://<router_IP>:8081/v1/servers/self
  • Processeur de messages: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