Como adicionar um data center

Edge for Private Cloud v. 4.17.05

Este documento descreve como adicionar um data center (também chamado de região) a um data center de eventos.

Considerações antes de adicionar um data center

Antes de instalar um data center, você precisa saber como configurar o OpenLDAP, Servidores ZooKeeper, Cassandra e Postgres nos data centers. Você também deve garantir que o que as portas necessárias estejam abertas entre os nós nos dois data centers.

  • OpenLDAP
    Cada data center tem um servidor OpenLDAP configurado com replicação ativada. Quando você instalar o novo data center, configurar o OpenLDAP para usar a replicação e reconfigurar o servidor OpenLDAP no data center atual para usar a replicação.
  • ZooKeeper
    Para a propriedade ZK_HOSTS de nos dois data centers, especifique os endereços IP ou nomes DNS de todos os nós do ZooKeeper dos dois dados na mesma ordem e marcam os nós com o modificador “:observer”. Os nós sem o modificador ":observer" são chamados de "voters". Você deve ter um número número de "eleitores" em sua configuração.

    Nessa topologia, o host do ZooKeeper no host 9 é o observador:



    No arquivo de configuração de exemplo mostrado abaixo, o nó 9 é marcado com o Modificador “:observer” para ter cinco votantes: nós 1, 2, 3, 7 e 8.

    Para ZK_CLIENT_HOSTS para cada data center, especifique os endereços IP ou nomes DNS somente do nós no data center, na mesma ordem, para todos os nós do ZooKeeper nos dados de eventos.
  • Cassandra
    Todos os data centers precisam ter o mesmo número de nós do Cassandra.

    Para CASS_HOSTS para cada dado center, especifique todos os endereços IP do Cassandra (não nomes DNS) para os dois dados em data centers locais. Para o data center 1, liste os nós do Cassandra nesse data center primeiro. Para data center 2. Liste os nós do Cassandra nesse data center primeiro. Liste os nós do Cassandra na mesma para todos os nós do Cassandra no data center.

    Todos os nós do Cassandra precisam ter um sufixo ":<d>,<r>", por exemplo "<ip>:1,1 = data center 1 e rack/zona de disponibilidade 1 e "<ip>:2,1 = data center 2 e rack/zona de disponibilidade 1.
    Por exemplo, "192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.124.205:2,1 192.168.124.206:2,1"

    O primeiro nó na zona de rack/disponibilidade 1 de cada data center será usado como semente. servidor. Neste modelo de implantação, a configuração do Cassandra ficará assim:


  • Postgres
    Por padrão, o Edge instala todos os nós do Postgres no modo mestre. No entanto, quando você tem vários você configura os nós do Postgres para usar a replicação mestre em espera, de modo que, se os o nó mestre falhar, o nó de espera poderá continuar disponibilizando tráfego. Normalmente, você configura o servidor Postgres mestre em um data center e o servidor de espera no segundo data center de eventos.

    Se o data center atual já estiver configurado para ter dois nós do Postgres em execução modo mestre/de espera e, como parte desse procedimento, cancele o registro do nó de espera existente e e substituí-lo por um nó de espera no novo data center.

    A tabela a seguir mostra a configuração antes e depois do Postgres para os dois cenários:

    Antes

    Depois

    Um único nó mestre do Postgres em dc-1

    Nó mestre do Postgres em dc-1

    Nó do Postgres em espera em dc-2

    Nó mestre do Postgres em dc-1

    Nó do Postgres em espera em dc-1

    Nó mestre do Postgres em dc-1

    Nó do Postgres em espera em dc-2

    Cancelar o registro do nó antigo do Standby Postgres em dc-1

  • Requisitos de porta
    Você precisa garantir que as portas necessárias estejam abertas entre os nós nos dois data centers. Para um diagrama de portas, consulte Instalação Requisitos.

Atualizar o data center atual

Para adicionar um data center, é necessário seguir as etapas para instalar e configurar os novos dados do Google, mas também exige a atualização de nós no data center original. Esses modificações são necessárias porque você está adicionando novos nós do Cassandra e do ZooKeeper no novo que precisam estar acessíveis ao data center existente e você precisa reconfigurar OpenLDAP para usar a replicação.

Como criar os arquivos de configuração

Abaixo estão os arquivos de configuração silenciosa dos dois data centers, onde cada tem 6 nós, como mostrado em Instalação Topologias. O arquivo de configuração de dc-1 adiciona outras configurações a:

  • Configurar o OpenLDAP com replicação em dois nós do OpenLDAP.
  • Adicione os novos nós do Cassandra e do ZooKeeper de dc-2 ao arquivo de configuração de dc-1.
# Datacenter 1
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP1
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP7
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-1
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"
# Datacenter 2
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP7
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=2
LDAP_PEER=$IP1
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-2
REGION=dc-2
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

Procedimento para adicionar um novo data center

Neste procedimento, os data centers são nomeados da seguinte forma:

  • dc-1: o data center atual
  • dc-2: o novo data center
  1. Em dc-1, execute setup.sh novamente nos nós originais do Cassandra com o novo dc-1 arquivo confidencial que inclui os nós do Cassandra de dc-2:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. Em dc-1, execute setup.sh novamente no nó do servidor de gerenciamento:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. Em dc-2, instale apigee-setup em todos os nós. Consulte Instalar o utilitário de configuração da Apigee Apigee para mais informações informações.
  4. No dc-2, instale o Cassandra e o ZooKeeper nos nós apropriados:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. Em dc-2, execute o comando "rebuild" em todos os nós do Cassandra, especificando a nome da região dc-1:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP (link em inglês) reconstruído dc-1
  6. No dc-2, instale o servidor de gerenciamento no nó apropriado:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. No nó do servidor de gerenciamento em dc-2, instale apigee-provision, que instala O utilitário apigee-adminapi.sh:
    &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-provision install
  8. Na dc-2, instale os processadores de rotas e mensagens no nós:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. Em dc-2, instale o Qpid nos nós apropriados:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  10. No dc-2, instale o Postgres no nó apropriado:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  11. Configure o mestre/em espera do Postgres para os nós do Postgres. O nó do Postgres em dc-1 é o mestre, e o nó do Postgres em dc-2 é o servidor em espera.

    Observação: se dc-1 já estiver configurado para ter dois Postgres em execução no modo mestre/de espera. Como parte desse procedimento, use o método nó mestre atual do Postgres em dc-1 como o mestre, e o Nó do Postgres em dc-2 como o servidor em espera. Mais adiante neste procedimento, você vai cancelar o registro do servidor em espera Postgres em dc-1.
    1. No nó mestre em dc-1, edite o arquivo de configuração para definir:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. Ative a replicação no novo mestre:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master configFIle -f
    3. No nó de espera em dc-2, edite o arquivo de configuração para definir:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. No nó de espera em dc-2, interrompa o servidor e exclua os dados atuais do Postgres:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      &gt; rm -rf /opt/apigee/data/apigee-postgresql/

      Observação: se necessário, você pode fazer backup desses dados antes de excluí-los.
    5. Configure o nó de espera em dc-2:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  12. Em dc-1, atualize a configuração da análise e configure as organizações.
    1. No nó do servidor de gerenciamento de dc-1, acesse o UUID do Postgres nó:
      &gt; Servidores apigee-adminapi.sh list -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

      O UUID aparece no final dos dados retornados. Salve esse valor.

      Observação: se dc-1 estiver configurado para ter dois nós do Postgres em execução em modo mestre/em espera, dois endereços IP e UUIDs aparecem na saída. Salve os dois UUIDs. A partir dos IPs, você deve ser capaz de determinar qual UUID é para o mestre e qual é para no nó de espera.
    2. No nó do servidor de gerenciamento de dc-2, acesse o UUID do Postgres como mostrado na etapa anterior. Salve esse valor.
    3. No nó do servidor de gerenciamento de dc-1, determine o nome do de análise de dados e grupos de consumidores. Muitos dos comandos abaixo exigem essas informações.
      Por padrão, o nome do grupo de análise é axgroup-001 e o nome do consumidor O grupo é consumer-group-001. No arquivo de configuração silenciosa de uma região, você pode definir o nome do grupo de análise usando a propriedade AXGROUP.

      Se você não tiver certeza dos nomes dos grupos de análise e de consumidores, use o seguinte para exibi-los:
      &gt; análise apigee-adminapi.sh lista de grupos --admin adminEmail --pwd adminPword --host localhost

      Esse comando retorna o nome do grupo de análise no campo "Nome" e o grupo de consumidores no campo consumer-groups.
    4. No nó do servidor de gerenciamento de dc-1, remova o Postgres atual. servidor do grupo de análise:
      1. Remova o nó do Postgres do grupo de consumidores:
        &gt; apigee-adminapi.sh grupos de análise consumer_groups datastores remove -g axgroup-001 -c consumer-group-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        Se dc-1 estiver configurado para ter dois nós do Postgres em execução modo mestre/de espera, remova ambos:
        &gt; apigee-adminapi.sh grupos de análise consumer_groups datastores remove -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" -Y --admin adminEmail --pwd adminPword --host localhost
      2. Remova o nó do Postgres do grupo de análises:
        &gt; apigee-adminapi.sh grupos de análise postgres_server removem -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        Se dc-1 estiver configurado para ter dois nós Postgres em execução no modo mestre/de espera, remova ambos:
        &gt; apigee-adminapi.sh Remoção do grupo de análise postgres_server -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail --pwd adminPword --host localhost
    5. No nó do servidor de gerenciamento de dc-1, adicione o novo mestre/de espera Servidores Postgres para o grupo de análise:
      1. Adicione os dois servidores do Postgres ao grupo de análise:
        &gt; apigee-adminapi.sh grupos de análise postgres_server add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost

        em que UUID_1 corresponde ao nó mestre do Postgres em dc-1 e UUID_2 correspondem ao Postgres em espera nó em dc-2.
      2. Adicione os servidores PG ao grupo de consumidores como mestre/em espera:
        &gt; apigee-adminapi.sh grupos de análise consumer_groups datastores add -g axgroup-001 -c consumer-group-001 -u UUID_1,UUID_2 --admin adminEmail --pwd adminPword --host localhost
    6. Adicione os servidores Qpid de dc-2 ao grupo de análise:
      1. No nó do servidor de gerenciamento de dc-1, acesse os UUIDs do Qpid nós em dc-2:
        &gt; apigee-adminapi.sh servidores list -r dc-2 -p central -t qpid-server --admin adminEmail --pwd adminPword --host localhost

        Os UUIDs aparecem no final dos dados retornados. Salve esses valores.
      2. No nó do Servidor de gerenciamento de dc-1, adicione os nós Qpid ao grupo de análise:
        &gt;apigee-adminapi.sh grupos de análise qpid_server add -g axgroup-001 -u "UUID_1 UUID_2" --admin adminEmail --pwd adminPword --host localhost
      3. No nó do Servidor de gerenciamento de dc-1, adicione os nós Qpid ao grupo de consumidores:
        &gt; apigee-adminapi.sh grupos de análise consumidor_grupos de consumidores add -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
    7. Cancele o registro e exclua o servidor em espera antigo do Postgres em dc-1:
      1. Cancele o registro do servidor em espera dc-1 do Postgres:
        &gt; apigee-adminapi.sh servidores cancelam registro -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost

        em que UUID é o estado de espera antigo Nó do Postgres em dc-1.
      2. Exclua o servidor em espera dc-1 Postgres em espera:
        Observação: esse comando não desinstala o nó do servidor Postgres. Ela o remove apenas da lista de nós de borda. Mais tarde, você poderá desinstalar o Postgres pelo quando necessário.
        &gt; apigee-adminapi.sh servidores delete -u UUID --admin adminEmail --pwd adminPword --host localhost
  13. 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.
    1. Inicie o utilitário cqlsh do Cassandra:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Execute os seguintes comandos CQL em "cqlsh>" prompt para definir a replicação níveis para os keyspaces do Cassandra:
      1. cqlsh&gt; ALTERAR "identityzone" KEYSPACE WITH replicação = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh&gt; ALTERAR KEYSPACE "system_traces" WITH replicação = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. Visualize os keyspaces usando o comando:
        cqlsh&gt; selecionar * de system.schema_keyspaces;
      4. Saia do comando qlsh:
        cqlsh&gt; sair
  14. Execute o seguinte comando nodetool em todos os nós do Cassandra em dc-1 para liberar memória:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP limpeza
  15. Para cada organização e para cada ambiente que você quer oferecer suporte em todos os dados data centers:
    1. No nó do servidor de gerenciamento de dc-1, adicione o novo MP_POD ao Organização:
      &gt; pods da organização apigee-adminapi.sh adicionar -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost

      em que gateway-2 é o nome do pod de gateway conforme definido por MP_POD no arquivo de configuração dc-2.
    2. Adicione os novos processadores de mensagens à organização e ao ambiente:
      1. No nó do servidor de gerenciamento de dc-2, acesse os UUIDs do Nós do processador de mensagens em dc-2:
        &gt; apigee-adminapi.sh lista de servidores -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost

        Os UUIDs aparecem no final dos dados retornados. Salve esses valores.
      2. No nó do servidor de gerenciamento de dc-1, para cada Processador de mensagens em dc-2, adicione o processador de mensagens a um ambiente para a organização:
        &gt; Organizações apigee-adminapi.sh envs servidores add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. No nó do servidor de gerenciamento de dc-1, verifique a organização:
      &gt; APIs apigee-adminapi.sh das organizações implantações -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost

      em que apiProxyName é o nome de um proxy de API implantado no organização.