Installation de plusieurs centres de données pour l'API BaaS

Edge pour Private Cloud version 4.17.01

Vous pouvez installer l'API BaaS dans plusieurs centres de données à l'aide d'un configuration. Ce document explique comment ajouter un centre de données BaaS à un centre de données BaaS existant de sécurité.

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 d'API BaaS peut utiliser son propre cluster Cassandra, ou il peut partager un cluster Cassandra avec Edge.

Si l'installation BaaS partage un cluster Cassandra avec Edge, vous devez mettre à jour le dans le centre de données d'origine pour le configurer afin qu'il reconnaisse les nœuds Cassandra dans dans le 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 dans le nouveau centre de données des nœuds Cassandra auxquels dans un 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 le centre de données 2 est 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 n'incluez aucune information sur le centre de données 2 lors de l'installation du centre de données 1.Vous ajoutez dans le fichier de configuration après l'installation du centre de données 2.

Vous trouverez ci-dessous les fichiers de configuration du centre de données 2. Pour ce fichier de configuration, 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 que vous installez sur 7 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

Ajouter un centre de données BaaS

  1. Installer le premier centre de données comme décrit sur la page API BaaS Installation Ce document inclut le fichier de configuration que vous utilisez pour installer les données centre 1.
  2. Créez le fichier de configuration pour dc-2 comme décrit ci-dessus.
  3. Installez Cassandra dans le cadre d'une installation Edge existante ou en tant que système autonome. pour BaaS: <ph type="x-smartling-placeholder">
      </ph>
    1. 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.
    2. Dans l'invite de commande, exécutez le script de configuration pour installer Cassandra sur le premier nœud:
      &gt; /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.
    3. Répétez les étapes 3 et 4 pour les nœuds Cassandra restants (les machines 9 et 10) dans dc-2.
  4. Sur les nœuds Cassandra de dc-1, modifiez le fichier de configuration pour ajouter les nœuds Cassandra de centre de données 2 en fonction de la manière dont vous avez installé Cassandra:

    # Listez d'abord les nœuds dc-1, puis dc-2,
    # incluant le centre de données Cassandra et le suffixe de rack
    CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1"
  5. 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:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
  6. Répétez les étapes 6 et 7 pour les nœuds Cassandra restants dans dc-1.
  7. 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:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  8. Mettez à jour les espaces de clés Cassandra avec un facteur de réplication correct pour les deux centres de données. Toi cette étape n'est nécessaire qu'une seule fois sur n'importe quel serveur Cassandra de l'un ou l'autre des centres de données:

    Remarque: Les commandes ci-dessous définissent 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.
    1. Lancez l'utilitaire Cassandra cqlsh:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Exécutez les commandes CQL suivantes au niveau de la commande "cqlsh>" pour définir la réplication pour les espaces de clés Cassandra: <ph type="x-smartling-placeholder">
        </ph>
      1. cqlsh&gt; MODIFICATION ESPACE CLÉ "Apigee_Baas_dc_1" AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh&gt; MODIFICATION KEYSPACE "Apigee_Baas" AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. cqlsh&gt; MODIFICATION ESPACE CLÉ "Apigee_Baas_Locks" AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      4. cqlsh&gt; ALTER KEYSPACE "system_traces" AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      5. cqlsh&gt; MODIFICATION ESPACE DE CLÉS "system_auth" AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      6. Affichez les espaces de clés à l'aide de la commande suivante:
        cqlsh&gt; sélectionnez * à partir de system.schema_keyspaces;
      7. Quitter cqlsh:
        cqlsh&gt; sortie
  9. Sur tous les nœuds Cassandra de dc-2, exécutez la commande de recompilation, en indiquant le nom de la région dc-1:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP recompiler dc-1
  10. 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" :
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool état
  11. Installez BaaS dans dc-2: <ph type="x-smartling-placeholder">
      </ph>
    1. Modifiez le fichier de configuration pour ne répertorier que les nœuds Cassandra dans dc-2:
      # Lister les nœuds Cassandra dc-2
      # Omission du centre de données Cassandra et du suffixe de rack
      CASS_HOSTS="$IP8 $IP9 $IP10"
    2. Installez ElasticSearch sur les nœuds 4, 5 et 6 de dc-2:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
    3. Installez la pile BaaS sur les nœuds 4, 5 et 6 de dc-2:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
    4. Installez le portail BaaS sur la machine 7:
      &gt; /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
  12. Mettez à jour les nœuds de la pile BaaS dans le centre de données 1: <ph type="x-smartling-placeholder">
      </ph>
    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.
    2. Ajoutez les propriétés suivantes à usergrid.properties:
      # Même valeur que BAAS_CLUSTER_SEEDS dans le fichier de configuration dc-2 :
      # sans guillemets doubles.
      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
    3. Répétez les étapes a et b sur les nœuds restants de la pile BaaS.
    4. 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 dans les deux 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.

      &gt; /opt/apigee/apigee-service/bin/apigee-service redémarrage baas-usergrid
  13. Mettre à jour les valeurs d'espace 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 la mémoire Cassandra.

    Vous n'avez besoin d'exécuter cette étape qu'une seule fois sur les serveurs Cassandra de l'un ou l'autre des centres de données: <ph type="x-smartling-placeholder">
      </ph>
    1. Lancez l'utilitaire Cassandra cqlsh:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Exécutez les commandes CQL suivantes pour définir les niveaux de réplication pour Cassandra espaces de clés: <ph type="x-smartling-placeholder">
        </ph>
      1. cqlsh&gt; ALTER KEYSPACE &quot;Apigee_Baas_dc_1&quot; AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
      2. cqlsh&gt; ALTER KEYSPACE &quot;Apigee_Baas_dc_2&quot; AVEC réplication = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
      3. Affichez les espaces de clés à l'aide de la commande suivante:
        cqlsh&gt; sélectionnez * à partir de system.schema_keyspaces;
      4. Quitter cqlsh:
        cqlsh&gt; quitter

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:

  1. Vérifiez l'état de tous les nœuds de la pile BaaS:
    &gt; curl 0:8080/status
  2. Vérifiez que l'appel d'API du jeton fonctionne:
    &gt; curl -X POST &quot;http://localhost:8080/management/token&quot; -d &#39;{&quot;grant_type&quot;:&quot;password&quot;, "username":"adminEmail","mot de passe":"pWord"}'
  3. 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.