Mettre un centre de données hors service

Dans certains cas, vous devrez peut-être mettre un centre de données hors service. Par exemple, si vous mettez à niveau votre système d'exploitation, vous devez installer le nouveau système d'exploitation dans un nouveau centre de données, puis mettre l'ancien centre de données hors service. Les sections suivantes présentent un exemple de mise hors service d'un centre de données, dans lequel il existe deux centres de données, dc-1 et dc-2, sur une installation en cluster à 12 nœuds:

  • dc-1 est le centre de données à mettre hors service.
  • dc-2 est un deuxième centre de données utilisé lors de la procédure de mise hors service.

Si vous mettez à niveau votre système d'exploitation, dc-2 peut être le centre de données dans lequel vous avez installé la nouvelle version du système d'exploitation. Toutefois, l'installation d'un nouveau système d'exploitation n'est pas nécessaire pour mettre un centre de données hors service.

Éléments à prendre en compte avant la mise hors service d'un centre de données

Tenez compte des considérations suivantes lorsque vous mettez un centre de données hors service:

  • Bloquez tout le trafic d'exécution et de gestion vers le centre de données en cours de mise hors service, puis redirigez-le vers d'autres centres de données.
  • Après la mise hors service du centre de données, vous constaterez une réduction de la capacité de votre cluster Apigee. Pour vous rattraper, envisagez d'augmenter la capacité des centres de données restants ou d'ajouter des centres de données après la mise hors service.
  • Au cours du processus de mise hors service, il existe un risque de perte de données d'analyse, selon les composants d'analyse installés dans le centre de données en cours de mise hors service. Pour en savoir plus, consultez la section Ajouter ou supprimer des nœuds Qpid.
  • Avant de mettre un centre de données hors service, vous devez comprendre comment tous les composants sont configurés dans l'ensemble des centres de données, en particulier les serveurs OpenLDAP, ZooKeeper, Cassandra et Postgres. Vous devez également effectuer des sauvegardes de tous les composants et de leur configuration.

Avant de commencer

  • Serveur de gestion : toutes les étapes de mise hors service dépendent fortement du serveur de gestion. Si un seul serveur de gestion est disponible, nous vous recommandons d'installer un nouveau composant de serveur de gestion sur un centre de données autre que dc-1 avant de mettre le serveur de gestion hors service sur dc-1. Assurez-vous également que l'un des serveurs de gestion est toujours disponible.
  • Routeur : avant de mettre un routeur hors service, désactivez la joignabilité des routeurs en bloquant le port 15999. Assurez-vous qu'aucun trafic d'exécution n'est dirigé vers les routeurs en cours de mise hors service.
  • Cassandra et ZooKeeper : les sections ci-dessous décrivent comment mettre hors service le contrôleur dc-1 dans une configuration à deux centres de données. Si vous avez plus de deux centres de données, veillez à supprimer toutes les références au nœud en cours de mise hors service (dc-1 dans ce cas) de tous les fichiers de configuration silencieuse pour tous les centres de données restants. Pour les nœuds Cassandra qui doivent être mis hors service, supprimez ces hôtes de CASS_HOSTS. Les nœuds Cassandra restants doivent conserver l'ordre d'origine de CASS_HOSTS.

  • Postgres: si vous mettez le maître Postgres hors service, veillez à promouvoir l'un des nœuds de secours disponibles en tant que nouveau maître postgres. Bien que le serveur QPID conserve un tampon dans la file d'attente, si le maître Postgres est indisponible pendant une longue période, vous risquez de perdre des données d'analyse.

Conditions préalables

  • Avant de mettre hors service un composant, nous vous recommandons d'effectuer une sauvegarde complète de tous les nœuds. Utilisez la procédure relative à votre version actuelle d'Edge pour effectuer la sauvegarde. Pour en savoir plus sur la sauvegarde, consultez la section Sauvegarde et restauration.

    Remarque:Si vous avez plusieurs nœuds Cassandra ou ZooKeeper, sauvegardez-les un par un, car le processus de sauvegarde arrête temporairement ZooKeeper.

  • Assurez-vous qu'Edge est opérationnel avant la mise hors service, à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-all status
  • Assurez-vous qu'aucun trafic d'exécution n'arrive actuellement dans le centre de données que vous mettez hors service.

Ordre de mise hors service des composants

Si vous installez Edge pour Private Cloud sur plusieurs nœuds, vous devez mettre hors service les composants Edge sur ces nœuds dans l'ordre suivant:

  1. Interface utilisateur Edge (interface utilisateur Edge)
  2. Management Server (serveur de gestion périphérique)
  3. OpenLDAP (apigee-openldap)
  4. Router (routeur périphérique)
  5. Message Processor (edge-message-processor)
  6. Qpid Server et Qpidd (edge-qpid-server et apigee-qpidd)
  7. Base de données Postgres et PostgreSQL (edge-postgres-server et apigee-postgresql)
  8. ZooKeeper (apigee-zookeeper)
  9. Cassandra (apigee-cassandra)

Les sections suivantes expliquent comment mettre hors service chaque composant.

Interface utilisateur périphérique

Pour arrêter et désinstaller le composant Edge UI de dc-1, saisissez les commandes suivantes:

/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall

Serveur de gestion

Pour mettre le serveur de gestion hors service sur dc-1, procédez comme suit:

  1. Arrêtez le serveur de gestion sur dc-1 :
    apigee-service edge-management-server stop
  2. Recherchez l'UUID du serveur de gestion enregistré dans dc-1 :
    curl -u <AdminEmailID>:'<AdminPassword>' \
    -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. Annuler l'enregistrement du type de serveur :
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=management-server&region=dc-1&pod=central&uuid=UUID&action=remove"
  4. Supprimez le serveur. Remarque:Si d'autres composants sont également installés sur ce serveur, annulez-les tous avant de supprimer l'UUID.
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. Désinstallez le composant Management Server sur dc-1 :
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

Ouvrir LDAP

Cette section explique comment mettre hors service OpenLDAP sur dc-1.

Remarque:Si vous avez plus de deux centres de données, consultez la section Configurations avec plus de deux centres de données ci-dessous.

Pour mettre hors service OpenLDAP sur dc-1, procédez comme suit:

  1. Sauvegardez le nœud OpenLDAP dc-1 en suivant la procédure décrite dans la section Effectuer une sauvegarde.
  2. Interrompez la réplication des données entre les deux centres de données (dc-1 et dc-2) en exécutant la procédure ci-dessous dans chacun d'eux.

    1. Vérifiez l'état actuel :
      ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

      Le résultat doit ressembler à ce qui suit :

      olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1

    2. Créez un fichier break_repl.ldif contenant les commandes suivantes :
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. Exécutez la commande ldapmodify :
      ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif

      Le résultat doit ressembler à ce qui suit :

      modifying entry "olcDatabase={2}bdb,cn=config"
      modifying entry "olcDatabase={2}bdb,cn=config"

  3. Pour vérifier que dc-2 n'est plus répliqué sur dc-1, créez une entrée dans le serveur LDAP dc-2 et assurez-vous qu'elle n'apparaît pas dans le LDAP de dc-1.

    Vous pouvez éventuellement suivre la procédure ci-dessous, qui crée un utilisateur en lecture seule dans le nœud OpenLDAP dc-2, puis vérifie si l'utilisateur est répliqué ou non. L'utilisateur est ensuite supprimé.

    1. Créez un fichier readonly-user.ldif dans dc-2 avec le contenu suivant :
      dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com
      objectClass: organizationalPerson
      objectClass: person
      objectClass: inetOrgPerson
      objectClass: top
      cn: readonly-user
      sn: readonly-user
      userPassword: {testPassword}
    2. Ajoutez un utilisateur avec la commande "ldapadd" dans dc-2 :
      ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif

      Le résultat ressemblera à ceci :

      adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"

    3. Recherchez l'utilisateur dans dc-1 pour vous assurer qu'il n'est pas répliqué. Si l'utilisateur n'est pas présent dans dc-1, vous vous assurez que les deux LDAP ne sont plus répliqués :
      ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL

      La sortie devrait ressembler à ce qui suit :

      No such object (32)
      Matched DN: ou=users,ou=global,dc=apigee,dc=com
    4. Supprimez l'utilisateur en lecture seule que vous avez ajouté précédemment :
      ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
  4. Arrêtez OpenLDAP dans dc-1 :
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. Désinstallez le composant OpenLDAP sur dc-1 :
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

Routeur

Cette section explique comment mettre un routeur hors service. Pour savoir comment supprimer le routeur, consultez la section Supprimer un serveur.

Les étapes suivantes mettent le routeur hors service de dc-1. Si plusieurs nœuds de routeur sont configurés dans dc-1, effectuez les étapes un par un dans chacun d'eux.

Remarque:Ici, on suppose que le port 15999 de vérification de l'état du routeur est configuré dans votre équilibreur de charge et que le port bloquant 15999 rend le routeur inaccessible. Vous aurez peut-être besoin d'un accès root pour bloquer le port.

Pour mettre un routeur hors service, procédez comme suit:

  1. Désactivez la joignabilité des routeurs en bloquant le port 15999 (port de vérification de l'état). Assurez-vous que le trafic d'exécution est bloqué sur ce centre de données:

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. Vérifiez que le routeur est accessible:

    curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable

    Le résultat doit ressembler à ce qui suit :

    About to connect() to 10.126.0.160 port 15999 (#0)
    Trying 10.126.0.160...
    Connection refused
    Failed connect to 10.126.0.160:15999; Connection refused
    Closing connection 0
    curl: (7) Failed connect to 10.126.0.160:15999; Connection refused

  3. Obtenez l'UUID du routeur, comme décrit dans la section Obtenir les UUID.
  4. Arrêtez le routeur :
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. Répertoriez les pods de passerelle disponibles dans l'organisation à l'aide de la commande suivante :
    curl -u  <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"

    Consultez la page À propos des pods.

  6. Annulez l'enregistrement du type de serveur :
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=router&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"
  7. Supprimez le serveur :
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Désinstallez edge-router :
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    Consultez Supprimer un serveur.
  9. Videz les règles iptables pour activer le port bloqué 15999 :
    iptables -F

Processeur de messages

Cette section explique comment mettre le processeur de messages hors service en provenance de dc-1. Consultez la section Supprimer un serveur pour plus d'informations sur la suppression du processeur de messages.

Comme nous supposons que dc-1 dispose d'une installation en cluster à 12 nœuds, deux nœuds de processeur de messages sont configurés dans dc-1. Exécutez les commandes suivantes dans les deux nœuds.

  1. Obtenez les UUID des processeurs de messages, comme décrit dans la section Obtenir les UUID.
  2. Arrêtez le processeur de messages :
    apigee-service edge-message-processor stop
  3. Annulez l'enregistrement du type de serveur :
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers  \
    -d "type=message-processor&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"/pre>
  4. Disassociate an environment from the Message Processor.

    Note: You need to remove the bindings on each org/env that associates the Message Processor UUID.

    curl -H "Content-Type:application/x-www-form-urlencoded" -u <AdminEmailID>:''  \
    -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \
    -d "action=remove&uuid=UUID"
  5. Annulez l'enregistrement du type de serveur :
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  6. Désinstaller le processeur de messages :
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. Annulez l'enregistrement du serveur :
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID

Serveur Qpid et Qpidd

Cette section explique comment mettre les serveurs Qpid (edge-qpid-server) et Qpidd (apigee-qpidd) hors service. Comme deux nœuds Qpid sont configurés dans dc-1, procédez comme suit pour chacun d'eux:

  1. Obtenez l'UUID pour Qpidd, comme décrit dans la section Obtenir des UUID.
  2. Arrêtez edge-qpid-server et apigee-qpidd :
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. Obtenez une liste des groupes de consommateurs et Analytics :
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. Supprimez Qpid du groupe de consommateurs :
    curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json"  -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
  5. Supprimez Qpid du groupe d'analyse :
    curl -v -u <AdminEmailID>:'<AdminPassword>' \
    -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
  6. Annulez l'enregistrement du serveur Qpid de l'installation Edge :
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=qpid-server&region=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
  7. Supprimez le serveur Qpid de l'installation Edge :
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Redémarrez tous les composants Edge-qpid-server sur tous les nœuds pour vous assurer que la modification est prise en compte par ces composants :
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
  9. Désinstallez Edge-qpid-server et apigee-qpidd :
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall

Postgres et Postgresql

Le centre de données que vous mettez hors service peut avoir un système Postgres maître ou un système de secours Postgres. Les sections suivantes expliquent comment les mettre hors service:

Mise hors service de l'instance maître Postgres

Remarque:Si vous mettez hors service le maître Postgres, veillez à promouvoir l'un des nœuds de secours disponibles en tant que nouveau maître postgres. Pendant que les requêtes QPID mettent les données en mémoire tampon, si le maître Postgres est indisponible pendant une longue période, vous risquez de perdre des données d'analyse.

Pour mettre hors service l'instance maître Postgres:

  1. Sauvegardez le nœud maître Postgres dc-1 en suivant les instructions des liens suivants :
  2. Récupérez les UUID des serveurs Postgres, comme décrit dans la section Obtenir les UUID.
  3. Sur le contrôleur dc-1, arrêtez edge-postgres-server et apigee-postgresql sur le maître actuel :
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  4. Sur le nœud de secours sur dc-2, saisissez la commande suivante pour en faire le nœud maître :
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>

    Remarque:Si vous disposez de plusieurs nœuds Postgres de secours, vous devez ajouter des entrées d'hôte sur le nouveau nœud maître et mettre à jour le paramètre de réplication pour tous les nœuds de secours postgres disponibles.

    Pour ajouter des entrées d'hôte au nouveau nœud maître Postgres, suivez les étapes de la section appropriée ci-dessous :

    S'il ne reste qu'un seul nœud de secours

    Par exemple, supposons qu'avant la mise hors service, trois nœuds Postgres soient configurés. Vous avez mis hors service le maître existant et promu l'un des nœuds de secours postgres restants en tant que maîtres. Configurez le nœud de secours restant en procédant comme suit:

    1. Sur le nouveau fichier maître, modifiez le fichier de configuration pour définir :
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
    2. Activez la réplication sur le nouveau nœud maître :
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle

    S'il reste plusieurs nœuds de secours

    1. Ajoutez la configuration suivante dans le fichier /opt/apigee/customer/application/postgresql.properties :
      conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
    2. Assurez-vous que le fichier /opt/apigee/customer/application/postgresql.properties appartient à l'utilisateur Apigee :
            chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. Redémarrez apigee-postgresql :
      apigee-service apigee-postgresql restart
    4. Pour mettre à jour les paramètres de réplication sur un nœud de secours:

      1. Modifiez le fichier de configuration /opt/silent.conf et mettez à jour le champ PG_MASTER avec l'adresse IP du nouveau maître Postgres.
      2. Supprimez toutes les anciennes données Postgres à l'aide de la commande suivante :
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. Configurez la réplication sur le nœud de secours :
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. Vérifiez que le maître Postgres est correctement configuré en saisissant la commande suivante dans dc-2 :
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. Supprimez et ajoutez les serveurs Postgresql du groupe d'analyse et du groupe de consommateurs.
      1. Retirez l'ancien serveur Postgres du groupe d'analyse en suivant les instructions de la section Supprimer un serveur Postgres d'un groupe d'analyse.
      2. Ajoutez un nouveau serveur postgres au groupe d'analyse en suivant les instructions de la section Ajouter un serveur Postgres existant à un groupe d'analyse.
    7. Annulez l'enregistrement de l'ancien serveur postgres de dc-1 :
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    8. Supprimez l'ancien serveur postgres de dc-1 :
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. L'ancien système Postgres maître peut maintenant être mis hors service en toute sécurité. Désinstaller edge-postgres-server et apigee-postgresql :
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    Mise hors service de l'instance de secours Postgres

    Remarque:La documentation d'une installation en cluster à 12 nœuds indique que le nœud dc-1 postgresql est le maître. Pour plus de commodité, dans cette section, nous partons du principe que le nœud dc-1 postgresql est en veille et que le nœud postgresql dc-2 est le maître.

    Pour désactiver le système de secours Postgres, procédez comme suit:

    1. Récupérez les UUID des serveurs Postgres en suivant les instructions de la section Obtenir les UUID.
    2. Arrêtez apigee-postgresql sur le nœud de secours actuel dans dc-1 :
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. Supprimez et ajoutez les serveurs Postgresql du groupe d'analyse et du groupe de consommateurs.
      1. Retirez l'ancien serveur Postgres du groupe d'analyse en suivant les instructions de la section Supprimer un serveur Postgres d'un groupe d'analyse.
      2. Ajoutez un nouveau serveur postgres au groupe d'analyse en suivant les instructions de la section Ajouter un serveur Postgres existant à un groupe d'analyse.
    4. Annulez l'enregistrement de l'ancien serveur postgres de dc-1 :
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    5. Supprimez l'ancien serveur postgres de dc-1 :
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. L'ancien système Postgres maître peut maintenant être mis hors service en toute sécurité. Désinstaller edge-postgres-server et apigee-postgresql :
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    ZooKeeper et Cassandra

    Cette section explique comment mettre les serveurs ZooKeeper et Cassandra hors service dans une configuration à deux centres de données.

    Si vous avez plus de deux centres de données, veillez à supprimer toutes les références au nœud en cours de mise hors service (dc-1 dans ce cas) de tous les fichiers de configuration silencieuse pour tous les centres de données restants. Pour les nœuds Cassandra qui doivent être mis hors service, supprimez ces hôtes de CASS_HOSTS. Les nœuds Cassandra restants doivent conserver l'ordre d'origine de CASS_HOSTS.

    Remarque à propos de ZooKeeper:Vous devez conserver un quorum de nœuds électeurs lorsque vous modifiez la propriété ZK_HOST dans le fichier de configuration, afin de vous assurer que l'ensemble ZooKeeper reste fonctionnel. Votre configuration doit comporter un nombre impair de nœuds d'électeur. Pour en savoir plus, consultez la page sur les tâches de maintenance Apache ZooKeeper.

    Pour mettre les serveurs ZooKeeper et Cassandra hors service, procédez comme suit:

    1. Sauvegardez les nœuds dc-1 Cassandra et ZooKeeper en suivant les instructions des liens suivants :
    2. Répertoriez les UUID des serveurs ZooKeeper et Cassandra dans le centre de données où les nœuds Cassandra sont sur le point d'être mis hors service.

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. Annulez l'enregistrement du type de serveur :
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore&region=dc-1&pod=central&uuid=UUID&action=remove"
    4. Annulez l'enregistrement du serveur :
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. Mettez à jour le fichier de configuration en supprimant les adresses IP des nœuds mis hors service de ZK_HOSTS et CASS_HOSTS.

      Exemple: Supposons que vous ayez les adresses IP $IP1 $IP2 $IP3 dans dc-1 et $IP4 $IP5 $IP6 dans dc-2, et que vous mettez hors service dc-1. Vous devez ensuite supprimer les adresses IP $IP1 $IP2 $IP3 des fichiers de configuration.

      • Entrées existantes du fichier de configuration :
        ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6"
        CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
      • Nouvelles entrées du fichier de configuration :
        ZK_HOSTS="$IP4 $IP5 $IP6"
        CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
    6. Mettez à jour le fichier de configuration silencieuse (modifié à l'étape e) avec les adresses IP des nœuds mis hors service supprimés et exécutez le profil du serveur de gestion sur tous les nœuds hébergeant des serveurs de gestion :
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. Mettez à jour le fichier de configuration avec les adresses IP des nœuds mis hors service supprimés, puis exécutez le profil MP/RMP sur tous les nœuds de routeur et de processeur de messages :
      • Si le routeur Edge et le processeur de messages sont configurés sur le même nœud, saisissez :
        /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
      • Si le routeur Edge et le processeur de messages sont configurés sur des nœuds distincts, saisissez la commande suivante:

        Pour le routeur:

        /opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file

        Pour le processeur de messages:

        /opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
    8. Reconfigurez tous les nœuds Qpid, en supprimant les adresses IP des nœuds mis hors service du fichier de réponse :
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. Reconfigurez tous les nœuds Postgres en supprimant les adresses IP des nœuds mis hors service du fichier de réponse :
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. Modifier l'espace de touches system_auth Si l'authentification Cassandra est activée sur un nœud Cassandra existant, mettez à jour le facteur de réplication de l'espace de clés system_auth en exécutant la commande suivante :
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      Cette commande définit le facteur de réplication sur '3', indiquant ainsi la présence de trois nœuds Cassandra dans le cluster. Modifiez cette valeur si nécessaire.

      Une fois cette étape terminée, la topologie Cassandra ne doit comporter aucun espace de clés dc-1.

    11. Mettez les nœuds Cassandra hors service sur dc-1, un par un.

      Pour mettre les nœuds Cassandra hors service, saisissez la commande suivante :

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission

    12. Vérifiez la connexion des nœuds Cassandra à partir de dc-1 à l'aide de l'une des commandes suivantes :
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      Ou commande de validation secondaire à exécuter sur le nœud mis hors service :

      /opt/apigee/apigee-cassandra/bin/nodetool netstats

      La commande ci-dessus doit renvoyer :

      Mode: DECOMMISSIONED

    13. Exécutez le profil DS pour tous les nœuds Cassandra et ZooKeeper dans dc-2 :
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
    14. Arrêtez apigee-cassandra et apigee-zookeeper dans dc-1 :
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. Désinstallez apigee-cassandra et apigee-zookeeper dans dc-1 :
      apigee-service apigee-cassandra uninstall
      apigee-service apigee-zookeeper uninstall

    Supprimer les liaisons de dc-1

    Pour supprimer les liaisons de dc-1, procédez comme suit:

    1. Supprimez les liaisons de dc-1.
      1. Répertoriez tous les pods disponibles sous l'organisation :
        curl -v -u  <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
      2. Pour vérifier si toutes les liaisons ont été supprimées, récupérez les UUID des serveurs associés aux pods :
        curl -v -u  <AdminEmailID>:<AdminPassword> \
        -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"

        Si cette commande ne renvoie aucun UUID, les étapes précédentes ont supprimé toutes les liaisons. Vous pouvez donc ignorer l'étape suivante. Sinon, passez à l'étape suivante.

      3. Supprimez toutes les liaisons de serveur pour les UUID obtenus à l'étape précédente :
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. Dissociez l'organisation du pod :
        curl -v -u  <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove&region=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
    2. Supprimez les pods :
      curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. Supprimez la région.
      curl -v -u <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/regions/dc-1" -X DELETE

    Remarque:Si vous ne suivez pas l'une des étapes de suppression des serveurs, l'étape ci-dessus renvoie un message d'erreur indiquant qu'un serveur particulier du pod existe toujours. Vous devez donc les supprimer en suivant la procédure de dépannage ci-dessous, tout en personnalisant les types dans la commande curl.

    Vous avez terminé la mise hors service de dc-1.

    Annexe

    Dépannage

    Si des serveurs sont toujours présents dans certains pods après avoir suivi les étapes précédentes, procédez comme suit pour annuler leur enregistrement et les supprimer. Remarque:Modifiez les types et les pods si nécessaire.

    1. Récupérez les UUID à l'aide de la commande suivante :
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. Annuler l'enregistrement du type de serveur :
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
    3. Supprimez les serveurs un par un :
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID

    Validation

    Vous pouvez valider la mise hors service à l'aide des commandes suivantes.

    Serveur de gestion

    Exécutez les commandes suivantes à partir des serveurs de gestion sur toutes les régions.

    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central&region=dc-1
    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway&region=dc-1
    curl -v -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/servers?pod=analytics&region=dc-1

    Exécutez la commande suivante sur tous les composants afin de vérifier les exigences de port pour tous les ports de gestion.

    curl -v http://MS_IP:8080/v1/servers/self

    Vérifiez le groupe d'analyse.

    curl  -v  -u  <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080}/v1/o/ORG/e/ENV/provisioning/axstatus"
    curl -v  -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/analytics/groups/ax

    Nœuds Cassandra/ZooKeeper

    Pour chaque nœud Cassandra, saisissez la commande suivante:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

    L'état running ou not running sera renvoyé pour ce nœud particulier.

    Sur un nœud, saisissez:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> status

    Les commandes ci-dessus renvoient des informations actives sur le centre de données.

    Dans les nœuds ZooKeeper, saisissez d'abord:

    echo ruok | nc <host> 2181

    Cette commande renvoie imok.

    Ensuite, saisissez cette commande :

    echo stat | nc <host> 2181 | grep Mode

    La valeur de Mode renvoyée par la commande ci-dessus est l'une des suivantes : observer, leader ou follower.

    Dans un nœud ZooKeeper:

    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt

    Sur le nœud maître Postgres, exécutez la commande suivante:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Vérifiez que la réponse indique que le nœud est le maître.

    Sur le nœud de secours:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Vérifiez que la réponse indique que le nœud est en secours.

    Se connecter à la base de données PostgreSQL à l'aide de la commande

    psql -h localhost -d apigee -U postgres

    Lorsque vous y êtes invité, saisissez 'postgres' comme mot de passe utilisateur "postgres". Sélectionnez max(client_received_start_timestamp) dans Analytics.

    ”$org.$env.fact” limit 1;

    Journaux

    Vérifiez les journaux des composants pour vous assurer qu'il n'y a pas d'erreurs.