Il peut arriver que vous deviez mettre hors service un centre de données. 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 hors service l'ancien centre de données. 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, qui est utilisé dans 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 (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 de mettre hors service 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, puis redirigez-le vers d'autres centres de données.
- Une fois le centre de données mis hors service, la capacité de votre cluster Apigee sera réduite. Pour compenser cette perte, envisagez d'augmenter la capacité des centres de données restants ou d'en ajouter après le décommissionnement.
- Au cours du processus de mise hors service, une perte de données d'analyse est possible, en fonction des composants d'analyse 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 hors service un centre de données, vous devez comprendre comment tous les composants sont configurés dans tous les centres de données, en particulier les serveurs OpenLDAP, ZooKeeper, Cassandra et Postgres. Vous devez également sauvegarder tous les composants et leurs configurations.
Avant de commencer
- Serveur de gestion:toutes les étapes de mise hors service sont fortement dépendantes du serveur de gestion. Si vous ne disposez que d'un seul serveur de gestion, nous vous recommandons d'installer un nouveau composant de serveur de gestion dans un centre de données autre que dc-1 avant de mettre hors service le serveur de gestion sur dc-1, et de vous assurer qu'un des serveurs de gestion est toujours disponible.
- Routeur:avant de mettre un routeur hors service, désactivez la connectivité 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 expliquent comment mettre hors service dc-1 dans une configuration à deux centres de données.
Si vous disposez de 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 silencieux de 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 deCASS_HOSTS
. - Postgres: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 le serveur QPID conserve un tampon dans la file d'attente, si le maître Postgres est indisponible pendant une période plus longue, vous risquez de perdre des données analytiques.
Prérequis
Avant de mettre hors service un composant, nous vous recommandons d'effectuer une sauvegarde complète de tous les nœuds. Suivez la procédure pour votre version actuelle d'Edge pour effectuer la sauvegarde. Pour en savoir plus sur la sauvegarde, consultez la section Sauvegarde et restauration.
- Assurez-vous qu'Edge est opérationnel avant de le mettre 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 au centre de données que vous mettez hors service.
Ordre de mise hors service des composants
Si vous installez Edge pour le cloud privé sur plusieurs nœuds, vous devez mettre hors service les composants Edge sur ces nœuds dans l'ordre suivant:
- Interface utilisateur Edge (edge-ui)
- Serveur de gestion (edge-management-server)
- OpenLDAP (apigee-openldap)
- Routeur (routeur de périphérie)
- Processeur de messages (edge-message-processor)
- Qpid Server et Qpidd (edge-qpid-server et apigee-qpidd)
- Postgres et base de données PostgreSQL (edge-postgres-server et apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- Cassandra (apigee-cassandra)
Les sections suivantes expliquent comment mettre hors service chaque composant.
Interface utilisateur Edge
Pour arrêter et désinstaller le composant d'UI Edge 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:
- Arrêtez le serveur de gestion sur dc-1:
apigee-service edge-management-server stop
- 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®ion=dc-1&type=management-server”
- Annulez l'enregistrement du type de serveur:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=management-server®ion=dc-1&pod=central&uuid=UUID&action=remove"
- Supprimez le serveur. Remarque:Si d'autres composants sont également installés sur ce serveur, désinscrivez-les tous avant de supprimer l'UUID.
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
- Désinstallez le composant du serveur de gestion sur dc-1:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
Open LDAP
Cette section explique comment mettre hors service OpenLDAP sur dc-1.
Remarque:Si vous disposez de 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:
- Sauvegardez le nœud OpenLDAP dc-1 en suivant la procédure décrite dans la section Comment sauvegarder.
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.
- 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
La sortie devrait 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
- 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
- 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"
- Vérifiez l'état actuel:
Vous pouvez vérifier que dc-2 ne réplique plus vers dc-1 en créant une entrée dans le LDAP de dc-2 et en vous assurant qu'elle n'apparaît pas dans le LDAP de dc-1.
Vous pouvez également suivre les étapes ci-dessous, qui créent un utilisateur en lecture seule dans le nœud OpenLDAP dc-2, puis vérifier si l'utilisateur est répliqué ou non. L'utilisateur est ensuite supprimé.
- 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}
- 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"
- 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
- 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"
- Créez un fichier
- Arrêtez OpenLDAP dans dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Désinstallez le composant OpenLDAP sur dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
Routeur
Cette section explique comment mettre hors service un routeur. Pour en savoir plus sur la suppression du routeur, consultez la section Supprimer un serveur.
Les étapes suivantes permettent de mettre hors service le routeur de dc-1. Si plusieurs nœuds de routeur sont configurés dans dc-1, effectuez les étapes dans tous les nœuds de routeur, un par un.
Remarque:Ici, nous supposons que le port de vérification de l'état du routeur (15999) est configuré dans votre équilibreur de charge et que le blocage du port 15999 rend le routeur inaccessible. Vous devrez peut-être disposer d'un accès racine pour bloquer le port.
Pour mettre hors service un routeur, procédez comme suit:
Désactivez la connectivité des routeurs en bloquant le port 15999, qui est le 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
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
- Obtenez l'UUID du routeur, comme décrit dans la section Obtenir des UUID.
- Arrêtez le routeur:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- 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"
Consultez la section À propos des pods.
- Désenregistrer le type du serveur:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=router®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Déregistrez le serveur:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Désinstallez
edge-router
: Consultez Supprimer un serveur./opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
- Effacez les règles
iptables
pour activer le port 15999 bloqué:iptables -F
Processeur de messages
Cette section explique comment mettre hors service le processeur de messages de dc-1. Pour en savoir plus sur la suppression du processeur de messages, consultez Supprimer un serveur.
Étant donné que nous supposons que dc-1 dispose d'une installation en cluster de 12 nœuds, deux nœuds Message Processor sont configurés dans dc-1. Exécutez les commandes suivantes sur les deux nœuds.
- Obtenez les UUID des processeurs de messages, comme décrit dans la section Obtenir des UUID.
- Arrêtez le processeur de messages:
apigee-service edge-message-processor stop
- Désenregistrer le type du serveur:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Dissocier un environnement du processeur de messages
curl -H "Content-Type:application/x-www-form-urlencoded" <AdminEmailID>:'<AdminPassword>’ \ -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \ -d "action=remove&uuid=UUID"
- Désenregistrer le type du serveur:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- Désinstallez le processeur de messages:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- Déregistrez le serveur:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
Serveur Qpid et Qpidd
Cette section explique comment mettre hors service Qpid Server (edge-qpid-server
) et Qpidd (apigee-qpidd
). Comme deux nœuds Qpid sont configurés dans dc-1, vous devez suivre les étapes suivantes pour les deux nœuds:
- Obtenez l'UUID de Qpidd, comme décrit dans la section Obtenir des UUID.
- Arrêtez
edge-qpid-server
etapigee-qpidd
:/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- Obtenir la liste des groupes Analytics et consommateurs:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- 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}"
- 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"
- 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®ion=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
- Supprimez le serveur Qpid de l'installation Edge:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Redémarrez tous les composants edge-qpid-server sur tous les nœuds pour vous assurer que la modification est détectée 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
- 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 serveur de secours Postgres. Les sections suivantes expliquent comment les mettre hors service:
Mise hors service du nœud 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 le nœud maître Postgres:
- Sauvegardez le nœud maître Postgres dc-1 en suivant les instructions des liens suivants :
- Obtenez les UUID des serveurs Postgres, comme décrit dans la section Obtenir des UUID.
- Sur dc-1, arrêtez
edge-postgres-server
etapigee-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
- Sur le nœud de secours de 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 en mode standby, vous devez ajouter des entrées d'hôte sur le nouveau maître et mettre à jour le paramètre de réplication pour tous les nœuds Postgres en mode standby disponibles.
Pour ajouter des entrées d'hôte au nouveau maître Postgres, suivez la procédure décrite dans la section appropriée ci-dessous :
Si un seul nœud de secours reste disponible
Par exemple, supposons qu'avant le désarmement, trois nœuds Postgres étaient 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 veille restant en procédant comme suit:
- Sur le nouveau maître, modifiez le fichier de configuration pour définir les éléments suivants:
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- Activez la réplication sur le nouveau maître:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
Si plusieurs nœuds de secours restent disponibles
- 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
- Assurez-vous que le fichier /opt/apigee/customer/application/postgresql.properties appartient à l'utilisateur apigee:
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
- Redémarrez
apigee-postgresql
:apigee-service apigee-postgresql restart
- Modifiez le fichier de configuration
/opt/silent.conf
et mettez à jour le champPG_MASTER
avec l'adresse IP du nouveau maître Postgres. - Supprimez toutes les anciennes données Postgres à l'aide de la commande suivante:
rm -rf /opt/apigee/data/apigee-postgresql/
- 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
- 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
- Supprimez et ajoutez des serveurs Postgresql au groupe d'analyse et au groupe de consommateurs.
- 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.
- Ajoutez un serveur Postgres au groupe d'analyse en suivant les instructions de la section Ajouter un serveur Postgres existant à un groupe d'analyse.
- Annulez l'enregistrement de l'ancien serveur PostgreSQL sur dc-1:
curl -u <AdminEmailID>:<AdminPassword> -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"
- Supprimez l'ancien serveur PostgreSQL de dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Vous pouvez maintenant mettre hors service l'ancien maître Postgres. Désinstallez
edge-postgres-server
etapigee-postgresql
:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
Pour mettre à jour les paramètres de réplication sur un nœud de secours:
Désactivation du mode standby Postgres
Remarque:La documentation d'une installation en cluster à 12 nœuds indique que le nœud PostgreSQL dc-1 est maître, mais pour des raisons de commodité, dans cette section, nous supposons que le nœud PostgreSQL dc-1 est en veille et que le nœud PostgreSQL dc-2 est maître.
Pour mettre hors service la réplication standby Postgres, procédez comme suit:
- Obtenez les UUID des serveurs Postgres en suivant les instructions de la section Obtenir des UUID.
- 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
- Supprimez et ajoutez des serveurs Postgresql au groupe d'analyse et au groupe de consommateurs.
- 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.
- Ajoutez un serveur Postgres au groupe d'analyse en suivant les instructions de la section Ajouter un serveur Postgres existant à un groupe d'analyse.
- Annulez l'enregistrement de l'ancien serveur PostgreSQL sur dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"
- Supprimez l'ancien serveur PostgreSQL de dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- Vous pouvez maintenant mettre hors service l'ancien maître Postgres. Désinstallez
edge-postgres-server
etapigee-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 hors service les serveurs ZooKeeper et Cassandra dans une configuration à deux centres de données.
Si vous disposez de 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 silencieux de 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 deCASS_HOSTS
.Remarque concernant 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 la section Tâches de maintenance Apache ZooKeeper.Pour mettre hors service les serveurs ZooKeeper et Cassandra:
- Sauvegardez les nœuds Cassandra et ZooKeeper dc-1 en suivant les instructions des liens suivants :
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
- Désenregistrer le type du 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®ion=dc-1&pod=central&uuid=UUID&action=remove"
- Déregistrez le serveur:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- Mettez à jour le fichier de configuration avec les adresses IP des nœuds mis hors service supprimées de
ZK_HOSTS
etCASS_HOSTS
.Exemple: Supposons que vous disposiez des adresses IP
$IP1 $IP2 $IP3
dans dc-1 et$IP4 $IP5 $IP6
dans dc-2, et que vous désinstalliez dc-1. Vous devez ensuite supprimer les adresses IP$IP1 $IP2 $IP3
des fichiers de configuration.- Entrées du fichier de configuration existantes:
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 de fichier de configuration:
ZK_HOSTS="$IP4 $IP5 $IP6" CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
- Entrées du fichier de configuration existantes:
- 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
- Mettez à jour le fichier de configuration avec les adresses IP des nœuds mis hors service, puis exécutez le profil MP/RMP sur tous les nœuds Router et Message Processor :
- 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 ce qui suit:
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
- Si le routeur Edge et le processeur de messages sont configurés sur le même nœud, saisissez:
- 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
- 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
- Modifier l'espace de clés
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éssystem_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'
, ce qui indique trois nœuds Cassandra dans le cluster. Modifiez cette valeur si nécessaire.Une fois cette étape terminée, la topologie Cassandra ne doit pas contenir
dc-1
dans l'un des espaces de clés. - Mettez hors service les nœuds Cassandra 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
- 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
- Exécutez le profil DS pour tous les nœuds Cassandra et ZooKeeper de dc-2:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- Arrêtez
apigee-cassandra
etapigee-zookeeper
dans dc-1:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop
- Désinstallez
apigee-cassandra
etapigee-zookeeper
dans dc-1:apigee-service apigee-cassandra uninstall
apigee-service apigee-zookeeper uninstall
Supprimez les liaisons de dc-1.
Pour supprimer les liaisons de dc-1, procédez comme suit:
- Supprimez les liaisons de dc-1.
- Répertoriez tous les pods disponibles dans l'organisation:
curl -v -u <AdminEmailID>:'<AdminPassword>' -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- Pour vérifier si toutes les liaisons ont été supprimées, obtenez 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, cela signifie que les étapes précédentes ont supprimé toutes les liaisons et que vous pouvez ignorer l'étape suivante. Sinon, passez à l'étape suivante.
- 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
- Dissocier l'organisation du pod:
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove®ion=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
- Répertoriez tous les pods disponibles dans l'organisation:
- Supprimez les pods:
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- Supprimez la région.
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
À ce stade, vous avez terminé le décommissionnement de dc-1.
Annexe
Dépannage
Si, après avoir effectué les étapes précédentes, des serveurs sont toujours présents dans certains pods, procédez comme suit pour les désenregistrer et les supprimer. Remarque:Modifiez les types et le pod si nécessaire.
- 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
- Annulez 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"
- 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écommissionnement à l'aide des commandes suivantes.
Serveur de gestion
- Exécutez les commandes suivantes à partir des serveurs de gestion de toutes les régions.
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central®ion=dc-1
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics®ion=dc-1
- Exécutez la commande suivante sur tous les composants pour 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
-
Sur tous les nœuds Cassandra, saisissez:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift
Un état
running
ounot running
est alors 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 sur les centres de données actifs.
-
Sur les nœuds ZooKeeper, saisissez d'abord:
echo ruok | nc <host> 2181
Cette commande renvoie
imok
.Saisissez ensuite:
echo stat | nc <host> 2181 | grep Mode
La valeur de
Mode
renvoyée par la commande ci-dessus sera l'une des suivantes :observer
,leader
oufollower
. -
Dans un nœud ZooKeeper, exécutez:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
-
Sur le nœud maître Postgres, exécutez:
/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, exécutez:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Assurez-vous que la réponse confirme que le nœud est en mode veille.
-
Connectez-vous à la base de données PostgreSQL à l'aide de la commande suivante:
psql -h localhost -d apigee -U postgres
Lorsque vous y êtes invité, saisissez le mot de passe de l'utilisateur
postgres
(par défaut:postgres
).Exécutez ensuite la requête suivante pour vérifier la valeur maximale de
client_received_start_timestamp
:SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;
Nœuds Cassandra/ZooKeeper
Journaux
Vérifiez les journaux des composants pour vous assurer qu'ils ne comportent aucune erreur.
- Sur le nouveau maître, modifiez le fichier de configuration pour définir les éléments suivants: