Como mover servidores da Apigee

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

Esta seção descreve como diagnosticar e corrigir incompatibilidades de configuração.

Endereços IP versus 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 que você use 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 fonte de problemas relacionados à conectividade do servidor DNS, falhas de pesquisa e sincronização.

Por isso, a Apigee recomenda o uso de endereços IP em todas as configurações dos componentes. Em alguns casos, como no Cassandra, é necessário usar endereços IP e não nomes de host. A maioria dos exemplos da 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 da Apigee:

Cenário Impacto na movimentação de servidores
Alteração no endereço IP Atualizar todos os arquivos relacionados que fazem referência ao endereço IP original
Alteração do nome do host sem alteração no endereço IP Nenhum impacto
Alteração do nome do host com alteração no endereço IP O mesmo que uma alteração 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. Crie o arquivo se ele não existir.
  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 em todas as interfaces).
  3. Abra /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties em um editor. Você verá o endereço IP antigo e a configuração padrão no formato:
    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:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n
    .

    Não se esqueça de inserir "\n" após o endereço IP e especificar 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 também o ZooKeeper (consulte Como alterar o endereço IP de um nó do ZooKeeper). Caso contrário, reinicie todos os componentes da plataforma Apigee, começando pelo Management Server.

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

  1. Se o nó que está sendo alterado for um nó de origem, edite o arquivo /opt/apigee/customer/application/cassandra.properties em cada sistema no anel e altere o parâmetro conf_cassandra_seeds para incluir o novo IP do sistema modificado. Crie o arquivo cassandra.properties se ele não existir.
  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" (o que permite que o Cassandra Thrift detecte 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 serão exibidos no seguinte formato:
    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:
    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
    .

    Não se esqueça de inserir "\n" após 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 alterações feitas nas etapas 3 e 4 para informá-los sobre a posição desse nó no anel do Cassandra. Além disso, altere o IP do nó de origem, 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 círculo 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 isso não seja feito durante as horas de pico de tráfego da API.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. Se necessário, repare o ZooKeeper (consulte Como alterar o endereço IP de um nó do ZooKeeper) e reinicie todos os componentes da plataforma da Apigee, começando pelo Management Server.

Atualizar registros do repositório de dados

  1. Encontre os UUIDs de registros do armazenamento 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 dependerá 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 registros antigos para o 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:

Alterar o endereço IP e reiniciar o ensemble ZooKeeper (apenas para configurações de ensemble de vários nós)

  1. Abra /opt/apigee/apigee-zookeeper/conf/zoo.cfg em um editor. Todos os endereços IP do ZooKeeper e a configuração padrão serão exibidos no seguinte 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 do arquivo 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 ensemble 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 deve dizer "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 alterado os endereços 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.

Informe os 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. Crie o arquivo se ele não existir.
    • 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. Crie o arquivo se ele não existir.
    • 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. Crie o arquivo se ele não existir.
    • 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 Apigee executando o seguinte comando em cada nó:
    /opt/apigee/apigee-service/bin/apigee-all restart

Como alterar 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. Crie o arquivo se ele não existir.
  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ós 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 mais informações sobre como receber o UUID de um componente, consulte Receber UUIDs.