Como mover servidores da Apigee

Edge para nuvem privada v4.18.05

Os componentes da Apigee usam endereços IP para se comunicar entre si. Mover componentes de uma máquina para outra pode causar uma incompatibilidade de configuração. Para corrigir inconsistências de configuração, siga as instruções relevantes abaixo.

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. 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 detecte 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

    Insira "\n" após o 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 também o ZooKeeper (veja abaixo). Caso contrário, reinicie todos os componentes da plataforma Apigee, começando com o Servidor de gerenciamento.

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

  1. Se o nó que está sendo alterado for de sugestão, 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. 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 ao Cassandra Thrift detectar em todas as interfaces.
  3. Abra /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties em um editor. Você verá todos os endereços IP e as configurações padrão do Cassandra no 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

    Insira "\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. Se o sistema modificado for um nó de sugestão, reinicie também cada sistema que usou esse nó.
    /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 -h localhost ring
  7. Execute nodetool repair no nó modificado. Esse processo pode levar algum tempo, por isso é altamente recomendável que não seja feito durante os horários de pico de tráfego da API.
    nodetool -h localhost repair
  8. Se necessário, repare o ZooKeeper (veja abaixo) e reinicie todos os componentes da plataforma Apigee, começando com o Servidor de gerenciamento.

Atualizar registros do repositório de dados

  1. Use os comandos abaixo para encontrar os UUIDs de registros de repositório de dados que especificam o endereço IP antigo. 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. Excluir registros antigos do UUID do sistema em que o endereço IP foi alterado. Para cada um desses UUIDs:
    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:

Mudar o endereço IP e reiniciar o conjunto do ZooKeeper (somente para configurações do 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 as configurações 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

    Não se esqueça de inserir "\n" depois de cada endereço IP e de que as entradas estejam 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 de modo na saída deve mostrar "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. 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 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. 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ó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 os novos endereços 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ó.

Se você não souber o UUID do nó, use o seguinte comando para mostrá-lo:

  • Roteador:
    curl http://router_IP:8081/v1/servers/self
  • Processador de mensagens:
    curl http://mp_IP:8082/v1/servers/self
  • Qpid:
    curl http://qp_IP:8083/v1/servers/self
  • Postgres:
    curl http://pg_IP:8084/v1/servers/self