Edge para nuvem privada v4.18.01
É possível instalar o API BaaS em vários data centers usando uma configuração ativa/ativa. Este documento descreve como adicionar um data center BaaS a um data center do BaaS de eventos.
Adicionar um data center quando O cluster do Cassandra é compartilhado com o Edge
Todos os data centers precisam ter o mesmo número de nós do Cassandra. Uma instalação de API BaaS pode usar o próprio cluster do Cassandra ou compartilhar um cluster do Cassandra com o Edge.
Se a instalação do BaaS compartilhar um cluster do Cassandra com o Edge, será necessário atualizar o Management Server no data center original para que ele reconheça os nós do Cassandra no novo data center.
Atualizar o data center atual
Para adicionar um novo data center do BaaS (data center 2), você precisa realizar as etapas para instalar e configurar o novo data center, mas também precisa atualizar o data center do BaaS original (data center 1). Essas modificações são necessárias porque:
- Você está adicionando novos nós do Cassandra no novo data center que precisam ser acessados pelo data center atual.
- Você precisa configurar as informações de replicação usadas pelos nós da pilha BaaS nos dados center 1 para incluir informações do data center 2. Não é possível realizar essa configuração até o data center 2 está instalado.
Para realizar essas atualizações no data center 1, atualize o arquivo de configuração original usado para instalar o data center 1 e execute novamente o apigee-setup nos nós do Cassandra do data center 1. Se o cluster do Cassandra para o data center 1 for compartilhado com uma instalação do Edge, também será necessário atualizar o servidor de gerenciamento.
Como criar os arquivos de configuração
Para instalar o data center 1, use a configuração mostrada em Instalação da API BaaS. O arquivo de configuração não precisa incluir nenhuma informação sobre o data center 2 no momento em que você instala 1.Você adiciona informações ao arquivo de configuração depois de instalar o data center 2.
Abaixo estão os arquivos de configuração do data center 2. Este arquivo de configuração pressupõe que você está instalando o dc-2 em 10 nós, conforme descrito em Topologias de instalação. Modifique esse arquivo se você estiver instalando em 7 nós.
O arquivo de configuração do data center 2 (dc-2) contém informações sobre o data center 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>"
Adicionar um data center do BaaS
- Instale o primeiro data center conforme descrito em Instalação de APIs BaaS. Esse documento inclui o arquivo de configuração usado para instalar o data center 1.
- Crie o arquivo de configuração para dc-2, conforme descrito acima.
- Instalar o Cassandra como parte de uma instalação atual do Edge ou como uma instalação independente
cluster para BaaS:
- Instale o utilitário apigee-setup do Edge na primeira Nó do Cassandra de dc-2, máquina 8, usando um procedimento de Internet ou não. Consulte Instalar o utilitário apigee-setup do Edge para mais informações.
- No prompt de comando, execute o script de configuração para instalar o Cassandra no primeiro nó:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
A opção "-p c" especifica a instalação do Cassandra.
O arquivo de configuração precisa ser acessível ou legível para a "apigee" usuário. - Repita as etapas 3 e 4 para os nós restantes do Cassandra, máquinas 9 e 10, em dc-2
- Nos nós do Cassandra do dc-1, edite o arquivo de configuração para adicionar os nós do Cassandra de
data center 2 com base em como você instalou o Cassandra:
# Liste primeiro os nós dc-1, depois dc-2,
# incluindo o data center do Cassandra e o sufixo do rack
CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1" - No primeiro nó do Cassandra do dc-1, execute setup.sh com o novo arquivo de configuração dc-1 que
inclui os nós do Cassandra de dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile - Repita as etapas 6 e 7 para os nós restantes do Cassandra em dc-1.
- Se você estiver se conectando a um cluster do Cassandra para dc-1 compartilhado com o Edge,
adicione os nós do Cassandra dc-2 ao arquivo de configuração do nó do servidor de gerenciamento do dc-1 e execute
setup.sh:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - Atualize os keyspaces do Cassandra com o fator de replicação correto para os dois data centers. Você
só precisam executar essa etapa uma vez em qualquer servidor do Cassandra em um dos data centers:
Observação: os comandos abaixo definem o fator de replicação como "3", indicando três nós do Cassandra no cluster. Modifique esse valor conforme necessário para sua instalação.- Inicie o utilitário cqlsh do Cassandra:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Execute os seguintes comandos CQL no prompt "cqlsh>" para definir os níveis de
replicação dos keyspaces do Cassandra:
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" WITH replicação = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas" WITH replicação = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas_Locks" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTERAR KEYSPACE "system_traces" WITH replicação = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "system_auth" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- Confira os keyspaces usando o comando:
cqlsh> select * from system.schema_keyspaces; - Sair do cqlsh:
cqlsh> exit
- Inicie o utilitário cqlsh do Cassandra:
- Em todos os nós do Cassandra em dc-2, execute o comando de reconstrução, especificando o nome da região de
dc-1:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP rebuild dc-1 - Executar "nodetool status" em cada nó do Cassandra e verificar se todos os nós do Cassandra
"100%" para o valor "Proprietários":
> /opt/apigee/apigee-cassandra/bin/nodetool status - Instale o BaaS em dc-2:
- Edite o arquivo de configuração para listar apenas os nós do Cassandra em dc-2:
# List dc-2 Cassandra nodes,
# omitting Cassandra data center and rack suffix
CASS_HOSTS="$IP8 $IP9 $IP10" - Instale o ElasticSearch nos nós 4, 5 e 6 de dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile - Instale a pilha BaaS nos nós 4, 5 e 6 do dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile - Instale o Portal do BaaS na máquina 7:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
- Edite o arquivo de configuração para listar apenas os nós do Cassandra em dc-2:
- Atualize os nós da pilha BaaS no data center 1:
- No primeiro nó da pilha BaaS no data center 1, edite /opt/apigee/customer/application/usergrid.properties em um editor. Crie o arquivo se ele não existir.
- Adicione as seguintes propriedades a usergrid.properties:
# Mesmo valor que BAAS_CLUSTER_SEEDS no arquivo de configuração dc-2,
# sem aspas duplas.
usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2
# O mesmo valor de BAAS_CASS_DC_LIST no arquivo de configuração dc-2.
usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2 - Repita as etapas a e b nos nós restantes da pilha de BaaS.
- Reinicie todos os nós da pilha de BaaS.
Observação: ao reiniciar os nós da pilha de BaaS, reinicie-os no mesmo ordem para que sejam listados em BAAS_CLUSTER_SEEDS. Listas de BAAS_CLUSTER_SEEDS em da maioria dos dois nós da pilha. Depois de reiniciar esses dois nós em ordem, você pode reiniciar o nós restantes em qualquer ordem.
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
- Atualizar valores de keyspace de BaaS. Esse keyspace precisa ser definido para replicação no momento da instalação,
mas não precisa ser no momento da execução. A remoção da replicação também economiza memória do Cassandra.
?Você só precisa executar esta etapa uma vez em qualquer servidor do Cassandra em um dos data centers:- Inicie o utilitário cqlsh do Cassandra:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Execute os seguintes comandos CQL para definir os níveis de replicação para o Cassandra
keyspaces:
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_2" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
- Visualize os keyspaces usando o comando:
cqlsh> selecionar * de system.schema_keyspaces; - Sair do cqlsh:
cqlsh> exit
- Inicie o utilitário cqlsh do Cassandra:
A instalação do segundo data center foi concluída.
Depois de concluir a instalação e a configuração dos dois data centers, é possível validar a instalação usando o seguinte procedimento:
- Em todos os nós da pilha de BaaS, verifique o status:
> curl 0:8080/status - Verifique se a chamada da API do token está funcionando:
> curl -X POST "http://localhost:8080/management/token" -d '{"grant_type":"password", "username":"adminEmail","password":"pWord"}' - Tente fazer login no portal do BaaS para dc-2. Verifique se todos os dados são replicados em dc-2, como as coleções criadas em dc-1.