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 avez besoin d’installer le nouveau système d’exploitation dans un nouveau centre de données, puis de 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 deux centres de données, dc-1 et dc-2, 12 nœuds en cluster:

  • 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 passez à une édition supérieure 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 (OS). Toutefois, l'installation d'un nouvel OS n'est pas nécessaire pour mettre hors service un centre de données.

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

Tenez compte des points suivants lorsque vous mettez hors service un centre de données :

  • Bloquez tout le trafic d'exécution et de gestion vers le centre de données en cours de mise hors service, et redirigez le trafic 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 centres de données après leur mise hors service.
  • Pendant la mise hors service, il existe un risque de perte de données d'analyse, en fonction quels composants d'analyse sont installés dans le centre de données en cours de mise hors service. Pour en savoir plus, consultez 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 tous les centres de données, en particulier OpenLDAP, ZooKeeper, Cassandra, et des serveurs Postgres. Vous devez également sauvegarder tous les composants et leurs configurations.

Avant de commencer

  • Serveur de gestion: Toutes les étapes de mise hors service dépendent fortement du serveur de gestion. Si vous n'avez qu'un de gestion centralisée disponible, nous vous recommandons d'installer Composant Management Server sur un centre de données autre que dc-1 avant de mettre l'API Management hors service serveur sur dc-1 et assurez-vous que l'un des serveurs de gestion est toujours disponible.
  • Routeur: Avant de mettre un routeur hors service, désactivez l'accessibilité des routeurs en bloquant le port 15999. Garantir l'absence d'environnement d'exécution le trafic est dirigé vers les routeurs en cours de mise hors service.
  • Cassandra et ZooKeeper: Les sections ci-dessous décrivent comment mettre hors service 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 dans tous les autres centres de données. 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 système Postgres hors service, assurez-vous de promouvoir de nœuds de secours disponibles en tant que nouveau maître postgres. Alors que le serveur QPID garde un tampon dans le d'attente, si l'instance maître Postgres est indisponible pendant une longue période, vous risquez de perdre des données d'analyse.

Prérequis

  • 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 applicable à votre version actuelle d'Edge pour effectuer l'opération sauvegarde. Pour en savoir plus sur la sauvegarde, consultez Sauvegarde et restauration :

    Remarque : Si vous disposez de 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 où vous vous trouvez. hors service.

Ordre de mise hors service des composants

Si vous installez Edge pour Private Cloud sur plusieurs nœuds, vous devez mettre 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. Processeur de messages (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 Edge

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 hors service le serveur de gestion 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, tous les désenregistrer avant de supprimer l'UUID.
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. Désinstallez le composant du serveur de gestion 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 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 les étapes décrites dans Effectuer une sauvegarde
  2. Mettez fin à la réplication des données entre les deux centres de données, dc-1 et dc-2, en suivant les étapes suivantes dans les deux centres de données.

    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

      La sortie devrait 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 en s'assurant qu'il n'apparaît pas dans le LDAP de dc-1.

    Si vous le souhaitez, vous pouvez suivre les étapes ci-dessous pour créer un utilisateur en lecture seule dans le contrôleur dc-2. un nœud OpenLDAP, puis vérifier 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 doit ressembler à 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 saurez que les deux LDAP ne se répliquent plus :
      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. Voir Supprimer un serveur pour en savoir plus sur la suppression du routeur.

Les étapes suivantes mettent le routeur hors service de dc-1. Si plusieurs nœuds de routeur sont configurés dans dc-1, effectuez la même procédure pour chacun d'eux un par un

Remarque:Ici, on part du principe que le port 15999 de vérification de l'état du routeur est configuré dans votre charge équilibreur de charge, et que le port bloquant 15999 rendra 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

    La sortie devrait 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 des UUID.
  4. Arrêtez le routeur:
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. Listez 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"

    Voir <ph type="x-smartling-placeholder"></ph> À 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ésinstaller edge-router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    Voir 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. Voir <ph type="x-smartling-placeholder"></ph> Supprimez un serveur pour en savoir plus sur la suppression du processeur de messages.

Puisque nous supposons que dc-1 a 12 nœuds en cluster, deux nœuds de processeur de messages sont configurés dans dc-1. Effectuez la les commandes suivantes dans les deux nœuds.

  1. Obtenez les UUID des processeurs de messages, comme décrit dans 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ésinstallez 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 le serveur Qpid (edge-qpid-server) et Qpidd hors service (apigee-qpidd). Deux nœuds Qpid sont configurés dans dc-1. Vous devez donc effectuer les étapes suivantes pour les deux nœuds:

  1. Obtenez l'UUID pour Qpidd, comme décrit dans la section Obtenir 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. Obtenir la liste des groupes Analytics et consommateurs :
    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 dans 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 comporter un maître Postgres ou un nœud 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. Bien que les files d'attente QPID mettent en mémoire tampon les données, 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 fournies dans les liens suivants:
  2. Récupérez les UUID des serveurs Postgres, comme décrit dans la section Obtenir les UUID.
  3. Sur 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 avez plusieurs nœuds Postgres de secours, vous devez ajouter les entrées d'hôte sur le nouveau 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 postgres en attente restants en tant que maître. Configurez le nœud de secours restant en procédant comme suit:

    1. Dans le nouveau masque, modifiez la configuration à 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 /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. Vérifiez que le fichier /opt/apigee/customer/application/postgresql.properties appartient à 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-le à jour dans le champ PG_MASTER par 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 l'instance maître Postgres est correctement configurée 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. Supprimez 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 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 dans 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 12 nœuds l'installation en cluster affiche le nœud postgresql dc-1 comme maître, Pour plus de commodité, dans cette section, nous partons du principe que le nœud dc-1 postgresql est en attente et le nœud dc-2 postgresql est 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 fournies dans 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 des serveurs Postgresql au groupe d'analyse et au groupe de consommateurs.
      1. Supprimez l'ancien serveur Postgres du groupe d'analyse en suivant les instructions fournies dans Supprimer un serveur Postgres d'un groupe d'analyse
      2. Ajoutez un nouveau serveur postgres au groupe d'analyse en suivant les instructions fournies dans Ajoutez un serveur Postgres existant à un groupe d'analyse.
    4. Annulez l'enregistrement de l'ancien serveur postgres dans 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. Vous pouvez maintenant mettre hors service l'ancien maître Postgres. 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 des serveurs ZooKeeper et Cassandra hors service. dans un centre de données à deux.

    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 dans tous les autres centres de données. 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 sur ZooKeeper : Vous devez maintenir un quorum de nœuds de vote lorsque vous modifiez la propriété ZK_HOST dans le fichier de configuration pour vous assurer que l'ensemble ZooKeeper reste fonctionnel. Vous devez avoir un nombre impair de nœuds de vote dans votre configuration. Pour en savoir plus, consultez Maintenance d'Apache ZooKeeper tâches.

    Pour mettre hors service les serveurs ZooKeeper et Cassandra :

    1. Sauvegardez les nœuds dc-1 Cassandra et ZooKeeper en suivant les instructions fournies via les liens suivants:
    2. Répertoriez les UUID des serveurs ZooKeeper et Cassandra dans le centre de données où les nœuds Cassandra vont ê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. Désenregistrer le 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 dans 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 vous mettent hors service dc-1. Vous devez ensuite supprimer les adresses IP $IP1 $IP2 $IP3 du 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 silencieux (modifié à l'étape e) avec les adresses IP des nœuds mis hors service supprimés, puis 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 et 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 dans le 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, 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 doit ne contiennent dc-1 dans aucun des espaces de clés ;

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

      Pour mettre hors service les nœuds Cassandra, 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 la 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, cela signifie que les étapes précédentes ont supprimé toutes les liaisons. et vous pouvez 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 renverra un message d'erreur indiquant un serveur spécifique du pod existe toujours. Supprimez-les en suivant la procédure de dépannage. ci-dessous, tout en personnalisant les types dans la commande curl.

    À ce stade, vous avez terminé le décommissionnement 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, suivez la procédure ci-dessous pour annuler l'enregistrement et supprimer les serveurs. Remarque:Modifiez les types et les pods si nécessaire.

    1. Obtenez 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 le désarmement à 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 la configuration requise au niveau des ports pour l'ensemble des .

    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 cet élément d'un nœud.

    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" 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'ils ne comportent aucune erreur.