Como desativar um data center

Às vezes, pode ser necessário desativar um data center. Por exemplo, se você estiver fazendo upgrade do sistema operacional, será necessário instalar o novo sistema operacional em um novo data center e desativar o antigo. As seções a seguir apresentam um exemplo de desativação de um data center, em que há dois data centers, dc-1 e dc-2, em uma instalação em cluster de 12 nós:

  • dc-1 é o data center a ser desativado.
  • dc-2 é um segundo data center, usado no procedimento de desativação.

Se você estiver atualizando seu sistema operacional, dc-2 pode ser o data center em que você instalou a nova versão do sistema operacional (SO). No entanto, não é necessário instalar um novo SO para desativar um data center.

Considerações antes de desativar um data center

Considere o seguinte ao desativar um data center:

  • Bloquear todo o tráfego de gerenciamento e execução para o data center que está sendo desativado e redirecioná-lo para outros data centers.
  • Após a desativação do data center, você terá capacidade reduzida no cluster da Apigee. Para compensar, aumente a capacidade nos data centers restantes ou adicione data centers após a desativação.
  • Durante o processo de desativação, há um potencial de perda de dados de análise, dependendo de quais componentes de análise estão instalados no data center que está sendo desativado. Veja mais detalhes em Adicionar ou remover nós Qpid.
  • Antes de desativar um data center, é preciso entender como todos os componentes estão configurados em todos eles, especialmente os servidores OpenLDAP, ZooKeeper, Cassandra e Postgres. Você também precisa fazer backups de todos os componentes e das configurações deles.

Antes de começar

  • Servidor de gerenciamento: todas as etapas de desativação dependem muito do servidor de gerenciamento. Se você tiver apenas um servidor de gerenciamento disponível, recomendamos a instalação de um novo componente do servidor de gerenciamento em um data center diferente de dc-1 antes de desativar o servidor de gerenciamento em dc-1 e garantir que um dos servidores de gerenciamento esteja sempre disponível.
  • Roteador: antes de desativar um roteador, desative a acessibilidade dos roteadores bloqueando a porta 15999. Verifique se nenhum tráfego de ambiente de execução está sendo direcionado para os roteadores desativados.
  • Cassandra e ZooKeeper: as seções abaixo descrevem como desativar a dc-1 em uma configuração de dois data centers. Se você tiver mais de dois data centers, remova todas as referências ao nó que está sendo desativado (dc-1, neste caso) de todos os arquivos de configuração silenciosos em todos os data centers restantes. Para os nós do Cassandra que serão desativados, remova esses hosts de CASS_HOSTS. Os nós restantes do Cassandra precisam permanecer na ordem original de CASS_HOSTS.

  • Postgres: se você desativar o mestre do Postgres, promova qualquer um dos nós de espera disponíveis como um novo mestre do Postgres. Enquanto o servidor QPID mantém um buffer na fila, se o mestre do Postgres ficar indisponível por mais tempo, você corre o risco de perder dados de análise.

Pré-requisitos

  • Antes de desativar qualquer componente, recomendamos que você faça um backup completo de todos os nós. Use o procedimento da sua versão atual do Edge para fazer o backup. Para mais informações sobre backup, consulte Backup e restauração.

    Observação:se você tiver vários nós do Cassandra ou do ZooKeeper, faça backup um de cada vez, porque o processo de backup encerra temporariamente o ZooKeeper.

  • Verifique se o Edge está instalado e em execução antes da desativação, usando o comando:
    /opt/apigee/apigee-service/bin/apigee-all status
  • Verifique se não há tráfego de tempo de execução chegando ao data center que você está desativando.

Ordem de desativação dos componentes

Se você instalar o Edge para nuvem privada em vários nós, precisará desativar os componentes do Edge nesses nós na seguinte ordem:

  1. IU do Edge (edge-ui)
  2. Servidor de gerenciamento (edge-management-server)
  3. OpenLDAP (apigee-openldap)
  4. Roteador (roteador de borda)
  5. Message Processor (edge-message-processor)
  6. Qpid Server e Qpidd (edge-qpid-server e apigee-qpidd)
  7. Banco de dados Postgres e PostgreSQL (edge-postgres-server e apigee-postgresql)
  8. ZooKeeper (apigee-zookeeper)
  9. Cassandra (apigee-cassandra)

As seções a seguir explicam como desativar cada componente.

interface do Edge

Para interromper e desinstalar o componente da interface do Edge do dc-1, digite os seguintes comandos:

/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall

Servidor de gerenciamento

Para desativar o servidor de gerenciamento em dc-1, siga estas etapas:

  1. Pare o servidor de gerenciamento em dc-1:
    apigee-service edge-management-server stop
  2. Encontre o UUID do servidor de gerenciamento registrado em dc-1:
    curl -u <AdminEmailID>:'<AdminPassword>' \
    -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. Cancelar o registro do tipo de servidor:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=management-server&region=dc-1&pod=central&uuid=UUID&action=remove"
  4. Excluir o servidor. Observação:se outros componentes também estiverem instalados neste servidor, cancele o registro de todos eles antes de excluir o UUID.
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. Desinstale o componente do servidor de gerenciamento em dc-1:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

Abrir LDAP

Esta seção explica como desativar o OpenLDAP em dc-1.

Observação:se você tiver mais de dois data centers, consulte a seção Configurações com mais de dois data centers abaixo.

Para desativar o OpenLDAP em dc-1, siga estas etapas:

  1. Faça o backup do nó OpenLDAP dc-1 seguindo as etapas em Como fazer backup.
  2. Interrompa a replicação de dados entre os dois data centers, dc-1 e dc-2, executando as etapas a seguir em ambos.

    1. Verifique o estado atual:
      ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

      A saída será semelhante a esta:

      olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1

    2. Crie um arquivo break_repl.ldif contendo os seguintes comandos:
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. Execute o comando ldapmodify:
      ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif

      A saída será semelhante a esta:

      modifying entry "olcDatabase={2}bdb,cn=config"
      modifying entry "olcDatabase={2}bdb,cn=config"

  3. É possível verificar se dc-2 não está mais replicando para dc-1 criando uma entrada no LDAP dc-2 e garantindo que ela não apareça no LDAP de dc-1.

    Se preferir, siga as etapas abaixo para criar um usuário somente leitura no nó OpenLDAP dc-2 e verificar se o usuário foi replicado ou não. Em seguida, o usuário é excluído.

    1. Crie um arquivo readonly-user.ldif em dc-2 com o seguinte conteúdo:
      dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com
      objectClass: organizationalPerson
      objectClass: person
      objectClass: inetOrgPerson
      objectClass: top
      cn: readonly-user
      sn: readonly-user
      userPassword: {testPassword}
    2. Adicione o usuário com o comando "ldapadd" em dc-2:
      ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif

      A saída será semelhante a:

      adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"

    3. Procure o usuário em dc-1 para garantir que ele não seja replicado. Se o usuário não estiver presente em dc-1, você terá certeza de que os dois LDAPs não estão mais sendo replicados:
      ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL

      A saída será semelhante a esta:

      No such object (32)
      Matched DN: ou=users,ou=global,dc=apigee,dc=com
    4. Remova o usuário somente leitura adicionado anteriormente:
      ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
  4. Interrompa o OpenLDAP em dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. Desinstale o componente OpenLDAP em dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

Roteador

Nesta seção, explicamos como desativar um roteador. Consulte Remover um servidor para mais detalhes sobre a remoção do roteador.

As etapas a seguir desativam o roteador de dc-1. Se houver vários nós do roteador configurados em dc-1, execute as etapas em todos os nós do roteador, um de cada vez.

Observação:aqui supõe-se que a porta de verificação de integridade 15999 do roteador esteja configurada no balanceador de carga e que a porta de bloqueio 15999 tornará o roteador inacessível. Talvez seja necessário ter acesso raiz para bloquear a porta.

Para desativar um roteador, siga estas etapas:

  1. Desative a acessibilidade dos roteadores bloqueando a porta 15999, que é a de verificação de integridade. Verifique se o tráfego de execução está bloqueado neste data center:

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. Verifique se o roteador está acessível:

    curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable

    A saída será semelhante a esta:

    About to connect() to 10.126.0.160 port 15999 (#0)
    Trying 10.126.0.160...
    Connection refused
    Failed connect to 10.126.0.160:15999; Connection refused
    Closing connection 0
    curl: (7) Failed connect to 10.126.0.160:15999; Connection refused

  3. Consiga o UUID do roteador, conforme descrito em Receber UUIDs.
  4. Pare o roteador:
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. Liste os pods de gateway disponíveis na organização com o seguinte comando:
    curl -u  <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"

    Consulte Sobre pods.

  6. Cancele o registro do tipo do servidor:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=router&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"
  7. Cancele o registro do servidor:
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Desinstale o edge-router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    Consulte Remover um servidor.
  9. Apague as regras iptables para ativar a porta bloqueada 15999:
    iptables -F

processador de mensagens

Esta seção descreve como desativar o processador de mensagens de dc-1. Consulte Remover um servidor para ver mais detalhes sobre como remover o processador de mensagens.

Como presumimos que dc-1 tem uma instalação em cluster de 12 nós, há dois nós do processador de mensagens configurados em dc-1. Execute os comandos a seguir nos dois nós.

  1. Consiga os UUIDs dos processadores de mensagens, conforme descrito em Receber UUIDs.
  2. Pare o processador de mensagens:
    apigee-service edge-message-processor stop
  3. Cancele o registro do tipo do servidor:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers  \
    -d "type=message-processor&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"/pre>
  4. Disassociate an environment from the Message Processor.

    Note: You need to remove the bindings on each org/env that associates the Message Processor UUID.

    curl -H "Content-Type:application/x-www-form-urlencoded" -u <AdminEmailID>:''  \
    -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \
    -d "action=remove&uuid=UUID"
  5. Cancele o registro do tipo do servidor:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  6. Desinstale o processador de mensagens:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. Cancele o registro do servidor:
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID

Servidor Qpid e Qpidd

Nesta seção, explicamos como desativar o servidor Qpid (edge-qpid-server) e o Qpidd (apigee-qpidd). Há dois nós Qpid configurados em dc-1. Portanto, siga estas etapas para ambos:

  1. Consiga o UUID do Qpidd, conforme descrito em Receber UUIDs.
  2. Paradas edge-qpid-server e apigee-qpidd:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. Receber uma lista de grupos do Analytics e de consumidores:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. Remova o Qpid do grupo de consumidores:
    curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json"  -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
  5. Remova o Qpid do grupo de análise:
    curl -v -u <AdminEmailID>:'<AdminPassword>' \
    -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
  6. Cancele o registro do servidor Qpid na instalação do Edge:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=qpid-server&region=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
  7. Remova o servidor Qpid da instalação do Edge:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Reinicie todos os componentes do Edge-qpid-server em todos os nós para garantir que a mudança seja detectada por esses componentes:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
  9. Desinstale o Edge-qpid-server e o apigee-qpidd:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall

Postgres e Postgresql

O data center que está sendo desativado pode ter um mestre do Postgres ou um espera do Postgres. As seções a seguir explicam como fazer isso:

Como desativar o mestre do Postgres

Observação: se você desativar o mestre do Postgres, promova qualquer um dos nós de espera disponíveis como um novo mestre do Postgres. Enquanto o QPID faz o buffer de dados, se o mestre do Postgres ficar indisponível por muito tempo, você corre o risco de perder dados de análise.

Para desativar o mestre do Postgres:

  1. Faça backup do nó mestre do Postgres dc-1 seguindo as instruções nos seguintes links:
  2. Consiga os UUIDs dos servidores Postgres, conforme descrito em Receber UUIDs.
  3. Em dc-1, pare edge-postgres-server e apigee-postgresql no mestre atual:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  4. No nó de espera em dc-2, digite o seguinte comando para torná-lo o nó mestre:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>

    Observação:se você tiver mais de um nó em espera do Postgres, adicione entradas de host ao novo mestre e atualize a configuração de replicação para todos os nós de espera do postgres disponíveis.

    Para adicionar entradas de host ao novo mestre do Postgres, siga as etapas na seção apropriada abaixo:

    Se houver apenas um nó de espera restante

    Por exemplo, suponha que, antes da desativação, houvesse três nós do Postgres configurados. Você desativou o mestre atual e promoveu um dos nós de espera do postgres restantes para o mestre. Configure o nó de espera restante seguindo estas etapas:

    1. Na nova instância mestre, edite o arquivo de configuração para definir:
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
    2. Ativar a replicação no novo mestre:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle

    Se houver mais de um nó de espera restante

    1. Adicione a seguinte configuração em /opt/apigee/customer/application/postgresql.properties:
      conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
    2. Verifique se o arquivo /opt/apigee/customer/application/postgresql.properties é de propriedade do usuário da Apigee:
            chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. Reiniciar apigee-postgresql:
      apigee-service apigee-postgresql restart
    4. Para atualizar as configurações de replicação em um nó de espera:

      1. Modifique o arquivo de configuração /opt/silent.conf e atualize o campo PG_MASTER com o endereço IP do novo mestre do Postgres.
      2. Remova os dados antigos do Postgres com o seguinte comando:
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. Configure a replicação no nó de espera:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. Verifique se o mestre do Postgres está configurado corretamente inserindo o seguinte comando em dc-2:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. Remover e adicionar servidores Postgresql do grupo de análise e do grupo de consumidores.
      1. Remova o servidor Postgres antigo do grupo de análise seguindo as instruções em Remover um servidor do Postgres de um grupo de análise.
      2. Adicione um novo servidor postgres ao grupo de análise seguindo as instruções em Adicionar um servidor Postgres atual a um grupo de análise.
    7. Cancele o registro do servidor postgres antigo de dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    8. Exclua o antigo servidor postgres de dc-1:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. O antigo mestre do Postgres já pode ser desativado com segurança. Desinstale edge-postgres-server e apigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    Como desativar o modo de espera do Postgres

    Observação: a documentação de uma instalação em cluster de 12 nós mostra o nó dc-1 postgresql como mestre, mas, por conveniência, nesta seção presumimos que o nó dc-1 postgresql está em espera e o nó dc-2 postgresql é mestre.

    Para desativar o modo de espera do Postgres, siga estas etapas:

    1. Consiga os UUIDs dos servidores Postgres, seguindo as instruções em Acessar UUIDs.
    2. Pare apigee-postgresql no nó de espera atual em dc-1:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. Remover e adicionar servidores Postgresql do grupo de análise e do grupo de consumidores.
      1. Remova o servidor Postgres antigo do grupo de análise seguindo as instruções em Remover um servidor do Postgres de um grupo de análise.
      2. Adicione um novo servidor postgres ao grupo de análise seguindo as instruções em Adicionar um servidor Postgres atual a um grupo de análise.
    4. Cancele o registro do servidor postgres antigo de dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    5. Exclua o antigo servidor postgres de dc-1:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. O antigo mestre do Postgres já pode ser desativado com segurança. Desinstale edge-postgres-server e apigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    ZooKeeper e Cassandra

    Esta seção explica como desativar os servidores do ZooKeeper e do Cassandra em uma configuração de dois data centers.

    Se você tiver mais de dois data centers, remova todas as referências ao nó que está sendo desativado (dc-1, neste caso) de todos os arquivos de configuração silenciosos em todos os data centers restantes. Para os nós do Cassandra que serão desativados, remova esses hosts de CASS_HOSTS. Os nós restantes do Cassandra precisam permanecer na ordem original de CASS_HOSTS.

    Observação sobre ZooKeeper: é necessário manter um quórum de nós eleitores ao modificar a propriedade ZK_HOST no arquivo de configuração para garantir que o conjunto do ZooKeeper permaneça funcional. Você precisa ter um número ímpar de nós eleitores na sua configuração. Para mais informações, consulte Tarefas de manutenção do Apache ZooKeeper.

    Para desativar os servidores do ZooKeeper e do Cassandra:

    1. Faça backup dos nós dc-1 do Cassandra e do ZooKeeper seguindo as instruções nos seguintes links:
    2. Liste os UUIDs dos servidores ZooKeeper e Cassandra no data center em que os nós do Cassandra estão prestes a ser desativados.

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. Cancele o registro do tipo do servidor:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore&region=dc-1&pod=central&uuid=UUID&action=remove"
    4. Cancele o registro do servidor:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. Atualize o arquivo de configuração com os IPs dos nós desativados removidos de ZK_HOSTS e CASS_HOSTS.

      Exemplo: suponha que você tenha os IPs $IP1 $IP2 $IP3 em dc-1 e $IP4 $IP5 $IP6 em dc-2 e esteja desativando dc-1. Em seguida, remova os IPs $IP1 $IP2 $IP3 dos arquivos de configuração.

      • Entradas existentes do arquivo de configuração:
        ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6"
        CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
      • Novas entradas do arquivo de configuração:
        ZK_HOSTS="$IP4 $IP5 $IP6"
        CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
    6. Atualize o arquivo de configuração silenciosa (modificado na etapa e) com os IPs dos nós desativados removidos e execute o perfil do servidor de gerenciamento em todos os nós que hospedam os servidores de gerenciamento:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. Atualize o arquivo de configuração com os IPs dos nós desativados que foram removidos e execute o perfil de MP/RMP em todos os nós do roteador e do processador de mensagens:
      • Se o roteador de borda e o processador de mensagens estiverem configurados no mesmo nó, digite:
        /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
      • Se o roteador de borda e o processador de mensagens estiverem configurados em nós separados, digite o seguinte:

        Para o roteador:

        /opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file

        Para o processador de mensagens:

        /opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
    8. Reconfigure todos os nós Qpid, com os IPs dos nós desativados removidos do arquivo de resposta:
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. Reconfigure todos os nós do Postgres com os IPs dos nós desativados removidos do arquivo de resposta:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. Alterar o espaço de tecla system_auth. Se a autenticação do Cassandra estiver ativada em um nó atual do Cassandra, atualize o fator de replicação do keyspace system_auth executando o seguinte comando:
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      Esse comando define o fator de replicação como '3', indicando três nós do Cassandra no cluster. Modifique esse valor conforme necessário.

      Depois de concluir esta etapa, a topologia do Cassandra não pode ter dc-1 em nenhum dos keyspaces.

    11. Desative os nós do Cassandra em dc-1, um por um.

      Para desativar os nós do Cassandra, digite o seguinte comando:

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission

    12. Verifique a conexão dos nós do Cassandra a partir de dc-1 usando um dos seguintes comandos:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      Ou comando de verificação secundário a ser executado no nó desativado:

      /opt/apigee/apigee-cassandra/bin/nodetool netstats

      O comando acima retornará:

      Mode: DECOMMISSIONED

    13. Execute o perfil do DS para todos os nós do Cassandra e do ZooKeeper em dc-2:
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
    14. Para apigee-cassandra e apigee-zookeeper em dc-1:
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. Desinstale apigee-cassandra e apigee-zookeeper em dc-1:
      apigee-service apigee-cassandra uninstall
      apigee-service apigee-zookeeper uninstall

    Excluir as vinculações de dc-1

    Para excluir as vinculações de dc-1, siga estas etapas:

    1. Exclua as vinculações de dc-1.
      1. Liste todos os pods disponíveis na organização:
        curl -v -u  <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
      2. Para verificar se todas as vinculações foram removidas, acesse os UUIDs dos servidores associados aos pods:
        curl -v -u  <AdminEmailID>:<AdminPassword> \
        -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"

        Se esse comando não retornar nenhum UUID, isso significa que todas as vinculações foram removidas das etapas anteriores e você pode pular a próxima etapa. Caso contrário, execute a próxima etapa.

      3. Remova todas as vinculações de servidor para os UUIDs recebidos na etapa anterior:
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. Desassociar a organização do pod:
        curl -v -u  <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove&region=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
    2. Exclua os pods:
      curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. Exclua a região.
      curl -v -u <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/regions/dc-1" -X DELETE

    Observação: se você perder uma das etapas para excluir os servidores, a etapa acima retornará uma mensagem de erro informando que um servidor específico no pod ainda existe. Portanto, exclua-os seguindo as etapas de solução de problemas abaixo e personalize os tipos no comando curl.

    Neste ponto, você concluiu a desativação de dc-1.

    Apêndice

    Solução de problemas

    Se depois de executar as etapas anteriores ainda houver servidores em alguns pods, siga estas etapas para cancelar o registro e excluí-los. Observação:altere os tipos e o pod conforme necessário.

    1. Consiga os UUIDs usando o seguinte comando:
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. Cancelar o registro do tipo de servidor:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
    3. Exclua os servidores um por um:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID

    validação

    Valide a desativação usando os comandos a seguir.

    Servidor de gerenciamento

    Execute os seguintes comandos nos servidores de gerenciamento em todas as regiões.

    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central&region=dc-1
    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway&region=dc-1
    curl -v -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/servers?pod=analytics&region=dc-1

    Execute o comando a seguir em todos os componentes para verificar os requisitos de porta para todas as portas de gerenciamento.

    curl -v http://MS_IP:8080/v1/servers/self

    Verifique o grupo de análise.

    curl  -v  -u  <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080}/v1/o/ORG/e/ENV/provisioning/axstatus"
    curl -v  -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/analytics/groups/ax

    Nós do Cassandra/ZooKeeper

    Em todos os nós do Cassandra, insira:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

    Isso retornará um status running ou not running para esse nó específico.

    Em um nó, digite:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> status

    Os comandos acima retornarão informações do data center ativo.

    Nos nós do ZooKeeper, insira primeiro:

    echo ruok | nc <host> 2181

    Esse comando retornará imok.

    Em seguida, insira o seguinte comando:

    echo stat | nc <host> 2181 | grep Mode

    O valor de Mode retornado pelo comando acima será um dos seguintes: observer, leader ou follower.

    Em um nó do ZooKeeper:

    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt

    No nó mestre do Postgres, execute:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Valide se a resposta diz que o nó é o mestre.

    No nó de espera:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Valide se a resposta informa que o nó é o de espera.

    Faça login no banco de dados do PostgreSQL usando o comando

    psql -h localhost -d apigee -U postgres

    Quando solicitado, digite a senha de usuário "postgres" como 'postgres'. Selecione max(client_received_start_timestamp) na análise.

    ”$org.$env.fact” limit 1;

    Registros

    Verifique os registros nos componentes para garantir que não há erros.