Como mover servidores da Apigee

Edge para nuvem privada v4.19.01

Mover componentes de uma máquina para outra pode causar uma incompatibilidade de configuração se você não mantiver os endereços IP nos arquivos de configuração do componente sincronizados.

Nesta seção, descrevemos como diagnosticar e corrigir incompatibilidades de configuração.

Endereços IP x nomes de host

Use endereços IP em vez de nomes de host nos arquivos de configuração do componente.

Embora alguns arquivos de configuração de componentes permitam o uso de nomes de host em vez de endereços IP, o uso de nomes de host pode complicar a solução de problemas. Por exemplo, os nomes de host podem ser a origem de problemas relacionados à conectividade do servidor DNS, falhas de pesquisa e sincronização.

Por isso, a Apigee recomenda o uso de endereços IP para todas as configurações de componentes. Em alguns casos, como no Cassandra, é necessário usar endereços IP, e não nomes de host. A maioria dos exemplos na documentação usa endereços IP para a configuração de componentes.

Para nomes de host e endereços IP, considere as implicações dos seguintes cenários ao mover servidores da Apigee:

Cenário Impacto na migração de servidores
Mudança no endereço IP Atualizar todos os arquivos relacionados que fazem referência ao endereço IP original
Mudança de nome do host sem mudança no endereço IP Nenhum impacto
Mudança de nome do host com mudança no endereço IP Igual a uma mudança no endereço IP

Como alterar o endereço IP de um nó do Cassandra

Para alterar o endereço IP de um nó do Cassandra, siga estas etapas:

Para configurações com um único nó do Cassandra

  1. Edite /opt/apigee/customer/application/cassandra.properties no sistema que está sendo modificado. Se o arquivo não existir, crie-o.
  2. Altere os seguintes parâmetros:
    • Defina os parâmetros conf_cassandra_seeds e conf_cassandra_listen_address para especificar o novo endereço IP do sistema.
    • Altere o conf_cassandra_rpc_address para usar o novo endereço IP ou 0.0.0.0 (que permite que o Cassandra Thrift detecte todas as interfaces).
  3. Abra /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties em um editor. O endereço IP antigo e a configuração padrão vão aparecer no formulário:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    Salve essas informações.

  4. Edite /opt/apigee/customer/application/cassandra.properties para alterar o endereço IP antigo especificado para o novo endereço IP:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Insira "\n" após o endereço IP e especifique as mesmas configurações padrão encontradas na Etapa 3 acima.

  5. Reinicie o Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Se necessário, repare também o ZooKeeper (veja abaixo). Caso contrário, reinicie todos os componentes da plataforma da Apigee, começando pelo Management Server.

Para configurações com vários nós do Cassandra (anel)

  1. Se o nó que está sendo alterado for um nó de semente, edite o arquivo /opt/apigee/customer/application/cassandra.properties em cada sistema no anel e mude o parâmetro conf_cassandra_seeds para incluir o novo IP do sistema modificado. Se o arquivo cassandra.properties não existir, crie-o.
  2. Edite /opt/apigee/customer/application/cassandra.properties no sistema que está sendo modificado e altere os seguintes parâmetros:
    • Defina conf_cassandra_listen_address para usar o novo endereço IP.
    • Defina conf_cassandra_rpc_address para usar o novo endereço IP ou "0.0.0.0" (que permite que o Cassandra Thrift detecte todas as interfaces).
  3. Abra /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties em um editor. Você verá todos os endereços IP do Cassandra e a configuração padrão no formulário:
    192.168.56.101=dc-1:ra-1
    192.168.56.102=dc-1:ra-1
    192.168.56.103=dc-1:ra-1
    default=dc-1:ra-1

    Salve essas informações.

  4. Edite /opt/apigee/customer/application/cassandra.properties para alterar o endereço IP antigo especificado para o novo endereço IP:
    conf_cassandra-topology_topology=192.168.56.101=dc-1:ra-1\n192.168.56.102=dc-1:ra-1\n192.168.56.104=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Insira "\n" após cada endereço IP e use as mesmas configurações padrão registradas acima na Etapa 3.

  5. Reinicie o Cassandra no sistema modificado. Se o sistema modificado for um nó de semente, reinicie também cada sistema que usou o nó de semente modificado.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Execute o comando nodetool ring no nó modificado para garantir que o anel esteja completo. O utilitário pode ser encontrado em /opt/apigee/apigee-cassandra/bin.
    nodetool [-u username -pw password] -h localhost ring

    Você só precisa transmitir seu nome de usuário e senha se tiver ativado a autenticação JMX para o Cassandra.

  7. Execute nodetool repair no nó modificado. Esse processo pode levar algum tempo. Por isso, é altamente recomendável que ele não seja feito durante os horários de pico de tráfego da API.
    nodetool [-u username -pw password] -h localhost repair -pr
  8. Se necessário, repare o ZooKeeper (veja abaixo) e reinicie todos os componentes da plataforma Apigee, começando pelo servidor de gerenciamento.

Atualizar registros do repositório de dados

  1. Encontre os UUIDs dos registros do repositório de dados que especificam o endereço IP antigo usando os comandos abaixo. Anote os parâmetros "type" e "UUID":
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics&region=DC" | egrep -i '[type|internalip|uuid|region]'

      Em que DC é o nome do data center. Em uma única instalação de data center, o valor normalmente é "dc-1".

  2. Registre os novos endereços IP usando um dos comandos abaixo. O comando necessário vai depender do tipo do nó alterado.
    • Para type="application-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP&region=REGION&pod=central" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST
    • Para type="kms-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=kms-datastore&Type=dc-datastore&Type=keyvaluemap-datastore&Type=counter-datastore&Type=cache-datastore \
        &InternalIP=NEWIP&region=REGION&pod=GATEWAY_POD" -H 'content-type: \
        application/x-www-form-urlencoded' -X POST
    • Para type="reportcrud-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers" -d \
        "Type=reportcrud-datastore&InternalIP=NEW_IP&region=REGION&pod=analytics" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST 
  3. Exclua os registros antigos do UUID do sistema em que o endereço IP foi alterado. Para cada um desses UUIDs, emita:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

Como alterar o endereço IP de um nó do ZooKeeper

Siga as etapas abaixo para alterar o endereço IP de um nó do ZooKeeper:

Mude o endereço IP e reinicie o conjunto do ZooKeeper (somente para configurações de conjunto de vários nós)

  1. Abra /opt/apigee/apigee-zookeeper/conf/zoo.cfg em um editor. Você verá todos os endereços IP do ZooKeeper e a configuração padrão no formulário:
    server.1=192.168.56.101:2888:3888
    server.2=192.168.56.102:2888:3888
    server.3=192.168.56.103:2888:3888

    Salve essas informações.

  2. Em cada nó do ZooKeeper, edite o arquivo /opt/apigee/customer/application/zookeeper.properties para definir a propriedade conf_zoo_quorum com os endereços IP corretos. Se o arquivo não existir, crie-o.
    conf_zoo_quorum=server.1=192.168.56.101:2888:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n

    Insira "\n" após cada endereço IP e verifique se as entradas estão na mesma ordem em todos os nós.

  3. Encontre o líder do conjunto do ZooKeeper usando o seguinte comando (substitua node pelo endereço IP da máquina do Zookeeper):
    echo srvr | nc node 2181

    A linha "Mode" na saída precisa indicar "leader".

  4. Reinicie um ZooKeeper após o outro, começando com o líder e terminando com o nó em que o endereço IP foi alterado. Se mais de um nó do ZooKeeper tiver mudado de endereço IP, talvez seja necessário reiniciar todos os nós.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. Use o comando echo descrito acima para verificar cada nó do ZooKeeper.

Informar os nós da Apigee sobre a mudança de configuração

  1. Em cada nó do roteador, edite o arquivo /opt/apigee/customer/application/router.properties da seguinte maneira. Se o arquivo não existir, crie-o.
    • Altere o parâmetro conf_zookeeper_connection.string para incluir o novo endereço IP.
    • Altere o parâmetro conf_zookeeper_zk1.host para incluir o novo endereço IP.
  2. Em cada nó do processador de mensagens, edite o arquivo /opt/apigee/customer/application/message-processor.properties da seguinte maneira. Se o arquivo não existir, crie-o.
    • Altere o parâmetro conf_zookeeper_connection.string para incluir o novo endereço IP.
    • Altere o parâmetro conf_zookeeper_zk1.host para incluir o novo endereço IP.
  3. No nó do servidor de gerenciamento, edite o arquivo /opt/apigee/customer/application/management-server.properties da seguinte maneira. Se o arquivo não existir, crie-o.
    • Altere o parâmetro conf_zookeeper_connection.string para incluir o novo endereço IP.
    • Altere o parâmetro conf_zookeeper_zk1.host para incluir o novo endereço IP.
  4. Reinicie todos os componentes da plataforma da Apigee executando o seguinte comando em cada nó:
    /opt/apigee/apigee-service/bin/apigee-all restart

Como mudar o endereço IP de um servidor LDAP (OpenLDAP)

Para alterar o endereço IP de um nó do OpenLDAP, faça o seguinte:

  1. No nó do servidor de gerenciamento, edite o arquivo /opt/apigee/customer/application/management-server.properties. Se o arquivo não existir, crie-o.
  2. No arquivo management-server.properties, defina o parâmetro conf_security_ldap.server.host como o novo endereço IP.
  3. Reinicie o servidor de gerenciamento:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Como alterar o endereço IP de outros tipos de nó da Apigee

Para alterar o endereço IP de qualquer um desses tipos de nó (roteador, processador de mensagens, servidor Postgres (não postgresql) e servidor Qpid (não qpidd):

  1. Use o seguinte comando curl para registrar o novo endereço IP interno e externo:
    curl -u ADMINEMAIL:PW -X PUT \
      http://MSIP:8080/v1/servers/uuid -d ExternalIP=ip
    curl -u ADMINEMAIL:PW -X PUT \
      http://$MSIP:8080/v1/servers/uuid -d InternalIP=ip

    Em que uuid é o UUID do nó.

Para saber como conseguir o UUID de um componente, consulte Receber UUIDs.