Como mover servidores da Apigee

Mover componentes de uma máquina para outra pode causar um erro de correspondência de configuração se você não mantiver os endereços IP nos arquivos de configuração de componentes 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 de componentes.

Embora alguns arquivos de configuração de componentes permitam usar nomes de host em vez de endereços IP, isso pode dificultar 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, o Apigee recomenda usar endereços IP em todas as configurações de componentes. Em alguns casos, como o 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 configuração de componentes.

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

Cenário Impacto na movimentação de servidores
Mudança no endereço IP Atualize 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 mudar o endereço IP de um nó do Cassandra

Para mudar 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. Mude 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.
    • Mude o conf_cassandra_rpc_address para usar o novo endereço IP ou 0.0.0.0 (que permite que o Cassandra Thrift escute em todas as interfaces).
  3. Abra /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties em um editor. Você vai ver o endereço IP antigo e a configuração padrão 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 mudar o endereço IP antigo especificado para o novo:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Insira "\n" depois do endereço IP e especifique as mesmas configurações padrão encontradas na etapa 3.

  5. Reinicie o Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Se necessário, repare o ZooKeeper (consulte Mudar o endereço IP de um nó do ZooKeeper). Caso contrário, reinicie todos os componentes da plataforma Apigee, começando pelo servidor de gerenciamento.

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

  1. Se o nó que está sendo mudado for um nó de seed, 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 mude 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 escute em todas as interfaces).
  3. Abra /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties em um editor. Todos os endereços IP do Cassandra e a configuração padrão vão aparecer 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 mudar o endereço IP antigo especificado para o novo:
    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" depois de cada endereço IP e use as mesmas configurações padrão registradas na Etapa 3.

  5. Reinicie o Cassandra no sistema modificado.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Para todos os outros nós, repita as mudanças feitas nas etapas 3 e 4 para informá-los sobre a posição desse nó no anel do Cassandra. Além disso, mude o IP do nó de seed conforme descrito na etapa 1.
  7. Reinicie cada nó restante do Cassandra um por um.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  8. 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
  9. 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
  10. Se necessário, repare o ZooKeeper (consulte Mudar o endereço IP de um nó do ZooKeeper) e reinicie todos os componentes da plataforma Apigee, começando pelo servidor de gerenciamento.

Atualizar registros do armazenamento de dados

  1. Encontre os UUIDs dos registros do datastore especificando 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 instalação de data center único, o valor normalmente é "dc-1".

  2. Registre os novos endereços IP usando um dos comandos abaixo. O comando necessário depende do tipo de 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, faça o seguinte:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

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

Siga as etapas abaixo para mudar 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ê vai encontrar todos os endereços IP do ZooKeeper e a configuração padrão no formato:
    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" depois de 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 mostrar "leader".

  4. Reinicie um ZooKeeper após o outro, começando pelo 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 aos nós da Apigee sobre a configuração alterada

  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.
    • Mude o parâmetro conf_zookeeper_connection.string para incluir o novo endereço IP.
    • Mude o parâmetro conf_zookeeper_zk1.host para incluir o novo endereço IP.
  2. Em todos os nós 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.
    • Mude o parâmetro conf_zookeeper_connection.string para incluir o novo endereço IP.
    • Mude 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 forma. Se o arquivo não existir, crie-o.
    • Mude o parâmetro conf_zookeeper_connection.string para incluir o novo endereço IP.
    • Mude o parâmetro conf_zookeeper_zk1.host para incluir o novo endereço IP.
  4. Reinicie todos os componentes da plataforma 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 (SymasLDAP)

Para mudar o endereço IP de um nó do SymasLDAP, 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 mudar o endereço IP de outros tipos de nós do Apigee

Para mudar o endereço IP de qualquer um desses tipos de nós (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 informações sobre como receber o UUID de um componente, consulte Receber UUIDs.