Edge pour Private Cloud v4.18.01
Vous pouvez installer le BaaS API dans plusieurs centres de données à l'aide d'une configuration active/active. Ce document explique comment ajouter un centre de données BaaS à un centre de données BaaS existant.
Ajouter un centre de données lorsque le Le cluster Cassandra est partagé avec Edge
Tous les centres de données doivent avoir le même nombre de nœuds Cassandra. Une installation BaaS API peut utiliser son propre cluster Cassandra ou partager un cluster Cassandra avec Edge.
Si l'installation BaaS partage un cluster Cassandra avec Edge, vous devez mettre à jour le serveur de gestion du centre de données d'origine pour le configurer afin qu'il reconnaisse les nœuds Cassandra du nouveau centre de données.
Mettre à jour le centre de données existant
Pour ajouter un centre de données BaaS (centre de données 2), vous devez procéder à l'installation et configurer le nouveau centre de données, mais vous devez aussi mettre à jour le centre de données BaaS d'origine (centre de données 1) . Ces modifications sont nécessaires pour les raisons suivantes:
- Vous ajoutez des nœuds Cassandra dans le nouveau centre de données qui doivent être accessibles par le centre de données existant.
- Vous devez configurer les informations de réplication utilisées par les nœuds de la pile BaaS dans les données le centre 1 pour inclure les informations du centre de données 2. Vous ne pouvez pas effectuer cette configuration tant que le centre de données 2 n'est pas installé.
Pour effectuer ces mises à jour sur le centre de données 1, vous mettez à jour le fichier de configuration d'origine utilisé pour installer le centre de données 1, puis réexécuter apigee-setup sur les nœuds de données Cassandra centre 1. Si le cluster Cassandra du centre de données 1 est partagé avec une installation Edge, alors vous devez aussi mettre à jour le serveur de gestion.
Créer les fichiers de configuration
Pour installer le centre de données 1, utilisez la configuration présentée sur la page Installation d'API BaaS. Le fichier de configuration n'a pas besoin d'inclure d'informations sur le centre de données 2 au moment de l'installation du centre de données 1. Vous ajouterez des informations au fichier de configuration après avoir installé le centre de données 2.
Vous trouverez ci-dessous les fichiers de configuration du centre de données 2. Ce fichier de configuration suppose que vous installez dc-2 sur 10 nœuds, comme décrit dans la section Topologies d'installation. Modifiez ce fichier en conséquence si vous effectuez l'installation sur sept nœuds.
Notez que le fichier de configuration du centre de données 2 (dc-2) contient des informations sur le centre de données 1. (dc-1):
# Specify IP address or DNS name of node for dc-2. IP1=192.168.1.1 # ElasticSearch IP2=192.168.1.2 # ElasticSearch IP3=192.168.1.3 # ElasticSearch IP4=192.168.1.4 # API BaaS Stack IP5=192.168.1.5 # API BaaS Stack IP6=192.168.1.6 # API BaaS Stack IP7=192.168.1.7 # API BaaS Portal IP8=192.168.1.8 # Cassandra dc-2 (shared with Edge or standalone) IP9=192.168.1.9 # Cassandra dc-2 (shared with Edge or standalone) IP10=192.168.1.10 # Cassandra dc-2 (shared with Edge or standalone) # Specify node information for dc-1 IP11=192.168.1.11 # Cassandra dc-1 (shared with Edge or standalone) IP12=192.168.1.12 # Cassandra dc-1 (shared with Edge or standalone) IP13=192.168.1.13 # Cassandra dc-1 (shared with Edge or standalone) IP14=192.168.1.14 # API BaaS Stack IP15=192.168.1.15 # API BaaS Stack # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Define the API BaaS administrator account. AS_ADMIN="superuser" # User name - default is "superuser". AS_ADMIN_EMAIL=stackAdmin@email.com AS_PASSWD=stackAdminPWord # Specify Cassandra data center and rack suffix. # List dc-2 nodes first, then dc-1. # Must use IP addresses for CASS_HOSTS, not DNS names. # CASS_HOSTS="$IP8:2,1 $IP9:2,1 $IP10:2,1 $IP11:1,1 $IP12:1,1 $IP13:1,1" # Specify the Cassandra region. REGION=dc-2 # Cassandra uname/pword. # Even if Cassandra authentication is disabled, # you must still pass values for these properties. CASS_USERNAME=cassandra # Default value CASS_PASSWORD=cassandra # Default value # Specify BaaS Cassandra connection information. # Specify the data center name as dc-2. BAAS_CASS_LOCALDC=dc-2 # Specify both data centers. BAAS_CASS_DC_LIST=dc-1,dc-2 # Replication is in the form "dataCenterName:#CassandraNodes". # Specify both data centers. BAAS_CASS_REPLICATION=dc-1:3,dc-2:3 # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes per data center. # Specify both data centers. BAAS_CLUSTER_SEEDS="dc-1:$IP14,dc-1:$IP15,dc-2:$IP4,dc-2:$IP5" # ElasticSearch IPs or DNS names, separated by spaces, for dc-2. ES_HOSTS="$IP1 $IP2 $IP3" # API BaaS Stack information. # Default cluster name is "apigee_baas" BAAS_USERGRID_CLUSTERNAME="apigee_baas" # URL and port of the load balancer for the API BaaS Stack nodes, # or IP/DNS and port 8080 of a single Stack node with no load balancer. BAAS_USERGRID_URL=http://myloadbalancer:8443 # API BaaS Portal information. # URL and port number of load balancer, if there is one in front of the Portal, # or the URL and port of the Portal node. BAAS_PORTAL_URL="http://$IP7:9000" # Portal port. Default value is 9000. BAAS_PORTAL_LISTEN_PORT=9000 # SMTP information. BaaS requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y SMTPMAILFROM="My Company <myco@company.com>"
Ajouter un centre de données BaaS
- Installez le premier centre de données comme décrit dans la section Installation du BaaS API. Ce document inclut le fichier de configuration que vous utilisez pour installer le centre de données 1.
- Créez le fichier de configuration pour dc-2 comme décrit ci-dessus.
- Installez Cassandra, soit dans le cadre d'une installation Edge existante, soit en tant que cluster autonome pour BaaS :
- Installez l'utilitaire Edge apigee-setup sur le premier Nœud Cassandra de dc-2, machine 8, via une procédure Internet ou hors Internet. Voir Installer Edge apigee-setup utilitaire.
- Dans l'invite de commande, exécutez le script de configuration pour installer Cassandra sur le premier nœud:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
L'option "-p c" indique d'installer Cassandra.
Le fichier de configuration doit être accessible ou lisible par "apigee" utilisateur. - Répétez les étapes 3 et 4 pour les nœuds Cassandra restants (les machines 9 et 10) dans dc-2.
- Sur les nœuds Cassandra de dc-1, modifiez le fichier de configuration pour ajouter les nœuds Cassandra du centre de données 2 en fonction de la manière dont vous avez installé Cassandra :
# List dc-1 nodes first, then dc-2,
# including Cassandra data center and rack suffix
CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1" - Sur le premier nœud Cassandra de dc-1, exécutez setup.sh avec le nouveau fichier de configuration dc-1 que
inclut les nœuds Cassandra de dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile - Répétez les étapes 6 et 7 pour les nœuds Cassandra restants dans dc-1.
- Si vous vous connectez à un cluster Cassandra pour dc-1 partagé avec Edge :
Ajoutez les nœuds Cassandra dc-2 au fichier de configuration du nœud dc-1 du serveur de gestion et exécutez
setup.sh:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - Mettez à jour les espaces de clés Cassandra avec un facteur de réplication correct pour les deux centres de données. Vous ne devez exécuter cette étape qu'une seule fois sur un serveur Cassandra de l'un des centres de données :
Remarque : Les commandes ci-dessous définissent toutes le facteur de réplication sur "3", ce qui indique trois nœuds Cassandra dans le cluster. Modifiez cette valeur si nécessaire pour votre installation.- Démarrez l'utilitaire cqlsh Cassandra :
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Exécutez les commandes CQL suivantes à l'invite "cqlsh>" pour définir les niveaux de réplication des espaces de clés Cassandra :
- cqlsh> ALTER ESPACE CLÉ "Apigee_Baas_dc_1" AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas" AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER ESPACE CLÉ "Apigee_Baas_Locks" AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER ESPACE DE CLÉS "system_auth" AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- Affichez les espaces de clés à l'aide de la commande suivante:
cqlsh> sélectionnez * à partir de system.schema_keyspaces; - Quitter cqlsh :
cqlsh> exit
- Démarrez l'utilitaire cqlsh Cassandra :
- Sur tous les nœuds Cassandra de dc-2, exécutez la commande de reconstruction en spécifiant le nom de la région de dc-1 :
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP rebuild dc-1 - Exécutez "nodetool status" sur chaque nœud Cassandra et vérifiez que tous les nœuds Cassandra disposent
"100 %" pour la valeur "Propriétaire" :
> /opt/apigee/apigee-cassandra/bin/nodetool état - Installez BaaS dans dc-2:
- Modifiez le fichier de configuration pour n'afficher que les nœuds Cassandra dans dc-2 :
# List dc-2 Cassandra nodes,
# omitting Cassandra data center and rack suffix
CASS_HOSTS="$IP8 $IP9 $IP10" - Installez ElasticSearch sur les nœuds 4, 5 et 6 de dc-2 :
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile - Installez la pile BaaS sur les nœuds 4, 5 et 6 de dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile - Installez le portail BaaS sur la machine 7:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
- Modifiez le fichier de configuration pour n'afficher que les nœuds Cassandra dans dc-2 :
- Mettre à jour les nœuds de la pile BaaS dans le centre de données 1 :
- Sur le premier nœud de la pile BaaS du centre de données 1, modifiez /opt/apigee/customer/application/usergrid.properties dans un éditeur. Si le fichier n'existe pas, créez-le.
- Ajoutez les propriétés suivantes à usergrid.properties :
# Même valeur que BAAS_CLUSTER_SEEDS dans le fichier de configuration dc-2,
# sans guillemets.
usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2
# Même valeur que BAAS_CASS_DC_LIST dans le fichier de configuration dc-2.
usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2 - Répétez les étapes a et b pour les autres nœuds de la pile BaaS.
- Redémarrez tous les nœuds de la pile BaaS.
Remarque: Lorsque vous redémarrez des nœuds de pile BaaS, redémarrez-les dans le même dans l'ordre de leur liste dans BAAS_CLUSTER_SEEDS. BAAS_CLUSTER_SEEDS liste au maximum deux des nœuds de la pile. Après avoir redémarré ces deux nœuds dans l'ordre, vous pouvez redémarrer le les nœuds restants dans n'importe quel ordre.
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
- Mettez à jour les valeurs du champ de clés BaaS. Cet espace de clés doit être défini pour
la réplication au moment de l'installation,
mais pas nécessairement au moment de l'exécution. La suppression de la réplication permet également d'économiser de la mémoire Cassandra.
?Vous n'avez à exécuter cette étape qu'une seule fois sur un serveur Cassandra de l'un des centres de données :- Démarrez l'utilitaire cqlsh Cassandra :
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Exécutez les commandes CQL suivantes pour définir les niveaux de réplication des espaces de clés Cassandra :
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_2" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
- Affichez les espaces de clés à l'aide de la commande :
cqlsh> select * from system.schema_keyspaces; - Quitter cqlsh :
cqlsh> exit
- Démarrez l'utilitaire cqlsh Cassandra :
L'installation du deuxième centre de données est maintenant terminée.
Après avoir installé et configuré les deux centres de données, vous pouvez valider l'installation en procédant comme suit:
- Vérifiez l'état de tous les nœuds de la pile BaaS:
> curl 0:8080/status - Vérifiez que l'appel d'API du jeton fonctionne :
> curl -X POST "http://localhost:8080/management/token" -d '{"grant_type":"password", "username":"adminEmail","password":"pWord"}' - Essayez de vous connecter au portail BaaS pour dc-2. Vérifiez que toutes les données sont répliquées dans dc-2, telles que les collections créées sur dc-1.