Varias instalaciones de centros de datos para BaaS de API

Edge for Private Cloud v. 4.17.05

Puedes instalar la BaaS de la API en varios centros de datos con una API activa/activa configuración. En este documento, se describe cómo agregar un centro de datos de BaaS a un conjunto de datos de BaaS existente. en el centro de atención.

Agregar un centro de datos cuando la El clúster de Cassandra se comparte con Edge

Todos los centros de datos deben tener la misma cantidad de nodos Cassandra. Una instalación de API BaaS puede usar su propio clúster de Cassandra o compartir uno de Cassandra con Edge

Si la instalación de BaaS comparte un clúster de Cassandra con Edge, debes actualizar el en el centro de datos original para configurarlo de modo que reconozca los nodos de Cassandra el nuevo centro de datos.

Actualiza el centro de datos existente

Para agregar un nuevo centro de datos BaaS (centro de datos 2), debes seguir los pasos para instalar y configurar el nuevo centro de datos, pero también requiere que actualices el centro de datos original de BaaS (centro de datos 1) . Estas modificaciones son necesarias por los siguientes motivos:

  • Estás agregando nuevos nodos de Cassandra al nuevo centro de datos, que deben ser accesibles para el centro de datos existente.
  • Debes configurar la información de replicación que usan los nodos de la pila de BaaS en los datos centro de datos 1 para incluir información del centro de datos 2. No puedes aplicar esa configuración hasta que el centro de datos 2.

Para realizar estas actualizaciones en el centro de datos 1, debes actualizar el archivo de configuración original que se usó para instalar el centro de datos 1 y, luego, volver a ejecutar apigee-setup en los nodos de datos de Cassandra. centro 1. Si el clúster de Cassandra para el centro de datos 1 se comparte con una instalación de Edge, entonces debe actualizar el servidor de administración.

Crea los archivos de configuración

Para instalar el centro de datos 1, usa la configuración que se muestra en Instalación de la BaaS de la API. El archivo de configuración no necesita incluye cualquier información sobre el centro de datos 2 cuando lo instalas.Agrega al archivo de configuración después de instalar el centro de datos. 2.

A continuación, se muestran los archivos de configuración del centro de datos 2. Este archivo de configuración supone que que instalan dc-2 en 10 nodos, como se describe en Topologías de instalación. Modifica este archivo según corresponda si se están instalando en 7 nodos.

Ten en cuenta que el archivo de configuración del centro de datos 2 (dc-2) contiene información sobre el centro de datos 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

Agrega un centro de datos de BaaS

  1. Instala el primer centro de datos como se describe en las BAaS de la API Instalación Ese documento incluye el archivo de configuración que usas para instalar datos. centro 1.
  2. Crea el archivo de configuración para dc-2 como se describió anteriormente.
  3. Instala Cassandra, ya sea como parte de una instalación de Edge existente o de forma independiente. para BaaS:
    1. Instala la utilidad apigee-setup de Edge en el primer Nodo de Cassandra de dc-2, máquina 8, con un procedimiento de Internet o que no es de Internet. Consulta Instala el Apigee-setup de Edge utilitario para obtener más información.
    2. En el símbolo del sistema, ejecuta la secuencia de comandos de configuración para instalar Cassandra en el primer nodo:
      > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile

      La opción “-p c” especifica la instalación de Cassandra.

      El archivo de configuración debe ser accesible y legible por el “Apigee” usuario.
    3. Repite los pasos 3 y 4 para los nodos de Cassandra, las máquinas 9 y 10 restantes, en dc-2.
  4. En los nodos de Cassandra de dc-1, edita el archivo de configuración para agregar los nodos de Cassandra desde según la forma en que instalaste Cassandra:

    # Enumera primero los nodos de dc-1 y, luego, dc-2.
    #, incluidos el centro de datos de Cassandra y el sufijo de bastidor
    CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1"
  5. En el primer nodo de Cassandra de dc-1, ejecuta setup.sh con el nuevo archivo de configuración dc-1 que incluye los nodos de Cassandra de dc-2:
    > /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
  6. Repite los pasos 6 y 7 para los nodos de Cassandra restantes en dc-1.
  7. Si te conectas a un clúster de Cassandra para dc-1 compartido con Edge, agrega los nodos de dc-2 Cassandra al archivo de configuración del nodo del servidor de administración de dc-1 y ejecuta setup.sh:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile
  8. Actualizar los espacios de claves de Cassandra con el factor de replicación correcto para los dos centros de datos Tú solo debes ejecutar este paso una vez en cualquier servidor Cassandra en cualquiera de los centros de datos:

    Nota: Los siguientes comandos establecen el factor de replicación en “3”, lo que indica tres nodos de Cassandra en el clúster. Modifica este valor según sea necesario para la instalación.
    1. Inicia la utilidad de cqlsh de Cassandra:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Ejecuta los siguientes comandos de CQL en “cqlsh>” para configurar la replicación para los espacios de claves de Cassandra:
      1. cqlsh> ALTERAR KEYSPACE “Apigee_Baas_dc_1” WITH replicación = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh> ALTERAR KEYSPACE “Apigee_Baas” WITH replicación = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. cqlsh> ALTERAR KEYSPACE “Apigee_Baas_Locks” WITH replicación = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      4. cqlsh> ALTERAR ESPACIO DE CLAVES “seguimientos del sistema” WITH replicación = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      5. cqlsh> ALTERAR KEYSPACE “system_auth” WITH replicación = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      6. Para ver los espacios de claves, usa el comando:
        cqlsh> seleccionar * de system.schema_keyspaces;
      7. Salir de cqlsh:
        cqlsh> salir
  9. En todos los nodos de Cassandra de dc-2, ejecuta el comando rebuild y especifica el nombre de la región de dc-1:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP recompilación dc-1
  10. Ejecuta “nodetool status” en cada nodo de Cassandra y verificar que todos tengan "100%" para el valor de "Propietario":
    > Estado de /opt/apigee/apigee-cassandra/bin/nodetool
  11. Instala BaaS en dc-2:
    1. Edita el archivo de configuración para enumerar solo los nodos de Cassandra en dc-2:
      # Enumerar nodos de Cassandra de dc-2,
      # omite el centro de datos de Cassandra y el sufijo de bastidor
      CASS_HOSTS="$IP8 $IP9 $IP10"
    2. Instala ElasticSearch en los nodos 4, 5 y 6 de dc-2:
      > /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile
    3. Instala la pila de BaaS en los nodos 4, 5 y 6 de dc-2:
      > /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile
    4. Instala el portal de BaaS en la máquina 7:
      > /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
  12. Actualiza los nodos de la pila de BaaS en el centro de datos 1:
    1. En el primer nodo de pila de BaaS del centro de datos 1, edita /opt/apigee/customer/application/usergrid.properties. en un editor. Si el archivo no existe, créalo.
    2. Agrega las siguientes propiedades a usergrid.properties:
      # El mismo valor que BAAS_CLUSTER_SEEDS en el archivo de configuración de dc-2,
      # sin comillas dobles.
      usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2

      # El mismo valor que BAAS_CASS_DC_LIST en el archivo de configuración de dc-2.
      usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2
    3. Repite los pasos a y b en los nodos restantes de la pila BaaS.
    4. Reinicia todos los nodos de la pila de BaaS.

      Nota: Cuando reinicies los nodos de la pila BaaS, reinícialo en la misma ubicación. en el orden en que se enumeran en BAAS_CLUSTER_SEEDS. BAAS_CLUSTER_SEEDS en la mayoría de los dos nodos de pila. Después de reiniciar esos dos nodos en orden, puedes reiniciar la nodos restantes en cualquier orden.

      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
  13. Actualiza los valores de espacio de claves BaaS. Estos espacios de claves se deben configurar para la replicación en el momento de la instalación pero no es necesario que estén en el entorno de ejecución. Quitar la replicación también ahorra memoria de Cassandra.

    Solo tienes que ejecutar este paso una vez en cualquier servidor Cassandra en cualquiera de los centros de datos:
    1. Inicia la utilidad de cqlsh de Cassandra:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Ejecuta los siguientes comandos de CQL para establecer los niveles de replicación de Cassandra de claves:
      1. cqlsh> ALTERAR ESPACIO DE CLAVES "Apigee_Baas_dc_1" WITH replicación = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
      2. cqlsh> ALTERAR ESPACIO DE CLAVES "Apigee_Baas_dc_2" WITH replicación = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
      3. Para ver los espacios de claves, usa el comando:
        cqlsh> seleccionar * de system.schema_keyspaces;
      4. Salir de cqlsh:
        cqlsh> salir

La instalación del segundo centro de datos ya está completa.

Después de completar la instalación y configuración de los dos centros de datos, puedes valida la instalación mediante el siguiente procedimiento:

  1. En todos los nodos de la pila de BaaS, verifica el estado:
    > curl 0:8080/estado
  2. Verifica que la llamada a la API del token funcione:
    > curl -X POST "http://localhost:8080/management/token" -d '{"grant_type":"password", "username":"adminEmail","password":"pWord"}'
  3. Intenta acceder al portal de BaaS para dc-2. Verificar, todos los datos se replican en dc-2 como las colecciones creadas en dc-1.