Déplacer des serveurs Apigee

Le déplacement de composants d'une machine à une autre peut entraîner une incohérence de configuration si vous ne synchronisez pas les adresses IP indiquées dans les fichiers de configuration de vos composants.

Cette section explique comment diagnostiquer et corriger les incohérences de configuration.

Adresses IP et noms d'hôte

Dans les fichiers de configuration de vos composants, vous devez utiliser des adresses IP plutôt que des noms d'hôte.

Bien que certains fichiers de configuration de composants vous permettent d'utiliser des noms d'hôte plutôt que des adresses IP, l'utilisation de noms d'hôte peut compliquer le dépannage. Par exemple, les noms d'hôte peuvent être la source de problèmes liés à la connectivité du serveur DNS, aux échecs de recherche et à la synchronisation.

Par conséquent, Apigee recommande vivement d'utiliser des adresses IP pour toutes les configurations de composants. Dans certains cas, comme dans Cassandra, vous devez utiliser des adresses IP, mais pas des noms d'hôte. La plupart des exemples de la documentation utilisent des adresses IP pour la configuration des composants.

Pour les noms d'hôte et les adresses IP, tenez compte des conséquences des scénarios suivants lors du déplacement de serveurs Apigee:

Scénario Impact sur le déplacement des serveurs
Modification de l'adresse IP Mettre à jour tous les fichiers associés qui font référence à l'adresse IP d'origine
Changement du nom d'hôte sans changement d'adresse IP Aucun impact
Modification du nom d'hôte en cas de changement d'adresse IP Identique à un changement d'adresse IP

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 s'afficher 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 et à spécifier les mêmes paramètres par défaut que ceux que vous avez trouvés ci-dessus à l'étape 3.

  5. Redémarrez Cassandra :
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Si nécessaire, réparez également ZooKeeper (voir Modifier l'adresse IP d'un nœud ZooKeeper). Sinon, redémarrez chaque composant de la plate-forme Apigee, en commençant par le serveur de gestion.

Pour les configurations avec 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 et 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, puis changez 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 de 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
    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.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

    Veillez à insérer "\n" après chaque adresse IP et à utiliser les mêmes paramètres par défaut que ceux indiqués ci-dessus à l'étape 3.

  5. Redémarrez Cassandra sur le système modifié.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Pour tous les autres nœuds, répétez les modifications effectuées aux étapes 3 et 4 pour les informer de la position de ce nœud dans l'anneau Cassandra. De plus, modifiez l'adresse IP du nœud source comme décrit à l'étape 1.
  7. Redémarrez chaque nœud Cassandra restant un par un.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  8. Exécutez la commande nodetool ring sur le nœud modifié pour vous assurer que l'anneau est terminé. Vous trouverez cet utilitaire à l'adresse /opt/apigee/apigee-cassandra/bin.
    nodetool [-u username -pw password] -h localhost ring
  9. Exécutez nodetool repair sur le nœud modifié. Notez que ce processus peut prendre un certain temps. Nous vous recommandons donc vivement de ne pas le faire pendant les heures de pointe du trafic API.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. Si nécessaire, réparez ZooKeeper (voir Modifier l'adresse IP d'un nœud ZooKeeper), puis redémarrez chaque composant de la plate-forme Apigee, en commençant par le serveur de gestion.

Mettre à jour les enregistrements de datastore

  1. Recherchez les UUID des enregistrements du datastore spécifiant l'ancienne adresse IP à l'aide des commandes ci-dessous. Prenez note des 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 est le 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é.
    • 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-urlencoded' -X POST
    • Pour 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
    • 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-urlencoded' -X POST 
  3. Supprimez les anciens enregistrements de l'UUID du système sur lequel l'adresse IP a été modifiée. Pour chacun de ces problèmes d'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 et le paramètre par défaut doivent s'afficher au format suivant :
    server.1=192.168.56.101:2888:3888
    server.2=192.168.56.102:2888:3888
    server.3=192.168.56.103:2888:3888

    Enregistrez ces informations.

  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:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n

    Veillez à insérer "\n" après chaque adresse IP et à placer les entrées dans le même ordre sur chaque nœud.

  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" de la sortie doit indiquer "leader".

  4. Redémarrez un ZooKeeper après l'autre, en commençant par le leader et en se terminant par le nœud sur lequel l'adresse IP a été modifiée. Si plusieurs nœuds ZooKeeper ont changé d'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 configuration modifiée

  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 du 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 (non postgresql) et serveur Qpid (pas qpidd):

  1. Exécutez la commande curl suivante pour enregistrer les nouvelles adresses IP interne et externe :
    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

    uuid est l'UUID du nœud.

Pour savoir comment obtenir l'UUID d'un composant, consultez la section Obtenir les UUID.