Edge for Private Cloud v. 4.17.05
Você pode instalar o API BaaS em vários data centers usando uma camada configuração do Terraform. 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 configurá-lo para reconhecer os nós do Cassandra no do novo data center.
Atualizar o data center atual
Para adicionar um novo data center BaaS (data center 2), você precisa seguir as etapas de instalação e configurar o novo data center, mas também exige que você atualize o data center original do BaaS (data center 1) . Essas modificações são necessárias porque:
- Você está adicionando novos nós do Cassandra ao novo data center que precisam ser acessíveis 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 instale o data center 1 e execute novamente o apigee-setup nos nós de dados do Cassandra. centro 1. Se o cluster do Cassandra para o data center 1 for compartilhado com uma instalação do Edge, você também precisará 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 de APIs BaaS. O arquivo de configuração não precisa incluir qualquer informação sobre o data center 2 ao instalar o data center 1.Você adiciona no arquivo de configuração após a instalação do data center 2.
Abaixo estão os arquivos de configuração do data center 2. Esse arquivo de configuração pressupõe que você estão instalando dc-2 em 10 nós, conforme descrito em Topologias de instalação. Modifique esse arquivo se você serão instalados 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
Adicionar um data center BaaS
- Instale o primeiro data center conforme descrito em BaaS de API Instalação. Esse documento inclui o arquivo de configuração usado para instalar os dados centro 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 a configuração da Apigee do Edge para saber mais.
- 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 de dc-1 e execute
setup.sh:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - Atualizar os keyspaces do Cassandra com o fator de replicação correto nos 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 a instalação.- Inicie o utilitário cqlsh do Cassandra:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - Execute os seguintes comandos CQL em "cqlsh>" prompt para definir a replicação
níveis para os keyspaces do Cassandra:
- cqlsh> ALTERAR KEYSPACE "Apigee_Baas_dc_1" WITH replicação = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTERAR KEYSPACE "Apigee_Baas" WITH replicação = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTERAR KEYSPACE "Apigee_Baas_Locks" WITH replicação = { '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> ALTERAR KEYSPACE "system_auth" WITH replicação = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- Visualize os keyspaces usando o comando:
cqlsh> selecionar * de system.schema_keyspaces; - Saia do comando qlsh:
cqlsh> sair
- Inicie o utilitário cqlsh do Cassandra:
- Em todos os nós do Cassandra em dc-2, execute o comando rebuild, especificando o nome da região de
dc-1:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP (reconstrução) 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:
# Listar nós dc-2 do Cassandra,
# omitindo o data center do Cassandra e o sufixo do rack
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 de 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 de BaaS no data center 1:
- No primeiro nó de pilha do 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
# Mesmo valor que 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. Esses keyspaces precisam ser configurados para replicação no momento da instalação,
mas não precisam estar no ambiente de execução. A remoção da replicação também economiza memória do Cassandra.
Você só precisa executar essa 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> ALTERAR KEYSPACE "Apigee_Baas_dc_1" WITH replicação = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
- cqlsh> ALTERAR KEYSPACE "Apigee_Baas_dc_2" WITH replicação = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
- Visualize os keyspaces usando o comando:
cqlsh> selecionar * de system.schema_keyspaces; - Saia do comando qlsh:
cqlsh> sair
- 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, será 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 de API do token está funcionando:
> POSTAGEM DE curl "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 foram replicados em dc-2 como as criadas em dc-1.