Trasladar servidores de Apigee

Edge para la nube privada v4.18.05

Los componentes de Apigee usan direcciones IP para comunicarse entre sí. Mover componentes de una máquina a otra puede causar una discrepancia de configuración. Para corregir las discrepancias de configuración, sigue las instrucciones relevantes que se indican a continuación.

Cambia la dirección IP de un nodo de Cassandra

Para cambiar la dirección IP de un nodo de Cassandra, sigue estos pasos:

Para la configuración con un solo nodo de Cassandra

  1. Edita /opt/apigee/customer/application/cassandra.properties en el sistema que se está modificando. Si el archivo no existe, créalo.
  2. Cambia los siguientes parámetros:
    • Configura los parámetros conf_cassandra_seeds y conf_cassandra_listen_address para especificar la nueva dirección IP del sistema.
    • Cambia conf_cassandra_rpc_address para usar la nueva dirección IP o 0.0.0.0 (lo que permite que Cassandra Thrift escuche en todas las interfaces).
  3. Abre /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties en un editor. Deberías ver la dirección IP anterior y la configuración predeterminada en el siguiente formato:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    Guarda esa información.

  4. Edita /opt/apigee/customer/application/cassandra.properties para cambiar la dirección IP anterior especificada por la nueva dirección IP:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Asegúrate de insertar “\n” después de la dirección IP y especificar la misma configuración predeterminada que la del Paso 3.

  5. Reinicia Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Si es necesario, también repara ZooKeeper (consulta a continuación). De lo contrario, reinicia cada componente de la plataforma de Apigee a partir del servidor de administración.

Para parámetros de configuración con varios nodos de Cassandra (anillo)

  1. Si el nodo que se cambiará es un nodo de origen, edita el archivo /opt/apigee/customer/application/cassandra.properties en cada sistema del anillo y cambia el parámetro conf_cassandra_seeds para incluir la IP nueva del sistema modificado. Si el archivo cassandra.properties no existe, créalo.
  2. Edita /opt/apigee/customer/application/cassandra.properties en el sistema que se está modificando y cambia los siguientes parámetros:
    • Configura conf_cassandra_listen_address para usar la dirección IP nueva.
    • Configura conf_cassandra_rpc_address para usar la nueva dirección IP o "0.0.0.0" (que permite que Cassandra Thrift escuche en todas las interfaces).
  3. Abre /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties en un editor. Deberías ver todas las direcciones IP y la configuración predeterminada de Cassandra en el siguiente 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

    Guarda esa información.

  4. Edita /opt/apigee/customer/application/cassandra.properties para cambiar la dirección IP anterior especificada por la nueva dirección 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

    Asegúrate de insertar “\n” después de cada dirección IP y de usar la misma configuración predeterminada que registraste antes en el paso 3.

  5. Reinicia Cassandra en el sistema modificado. Si el sistema modificado es un nodo de origen, también reinicia cada sistema que usó el nodo de origen modificado.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Ejecuta el comando nodetool ring en el nodo modificado para asegurarte de que el anillo se haya completado. La utilidad se encuentra en /opt/apigee/apigee-cassandra/bin.
    nodetool -h localhost ring
  7. Ejecuta nodetool repair en el nodo modificado. Ten en cuenta que este proceso puede tardar un poco, por lo que se recomienda no hacerlo durante las horas de mayor tráfico de la API.
    nodetool -h localhost repair
  8. Si es necesario, repara ZooKeeper (consulta a continuación) y, luego, reinicia cada componente de la plataforma de Apigee a partir del servidor de administración.

Actualiza los registros del almacén de datos

  1. Encuentra los UUID de los registros del almacén de datos que especifican la dirección IP anterior con los siguientes comandos. Toma nota de los parámetros "type" y "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]'

      En el ejemplo anterior, DC es el nombre del centro de datos. En una única instalación de centro de datos, el valor suele ser "dc-1".

  2. Registra las nuevas direcciones IP con uno de los siguientes comandos. El comando necesario dependerá del tipo de nodo modificado.
    • 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. Borra los registros anteriores del UUID del sistema en el que se cambió la dirección IP. Para cada uno de estos problemas de UUID:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

Cambia la dirección IP de un nodo de ZooKeeper

Sigue los pasos que se indican a continuación para cambiar la dirección IP de un nodo de ZooKeeper:

Cambia la dirección IP y reinicia el ensamble ZooKeeper (solo para configuraciones de ensamble de varios nodos).

  1. Abre /opt/apigee/apigee-zookeeper/conf/zoo.cfg en un editor. Deberías ver todas las direcciones IP y la configuración predeterminada de ZooKeeper con el siguiente 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
    .

    Guarda esa información.

  2. En cada nodo de ZooKeeper, edita el archivo /opt/apigee/customer/application/zookeeper.properties para establecer la propiedad conf_zoo_quorum en las direcciones IP correctas. Si el archivo no existe, créalo.
    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

    Asegúrate de insertar “\n” después de cada dirección IP y de que las entradas estén en el mismo orden en cada nodo.

  3. Encuentra el líder del ensamble ZooKeeper usando el siguiente comando (reemplaza node por la dirección IP de la máquina de Zookeeper):
    echo srvr | nc node 2181

    La línea de modo en el resultado debería decir "líder".

  4. Reinicia un ZooKeeper después del otro comenzando con el líder y terminando con el nodo en el que se cambió la dirección IP. Si más de un nodo de Zookeeper cambió las direcciones IP, es posible que sea necesario reiniciar todos los nodos.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. Usa el comando echo que se describió anteriormente para verificar cada nodo de ZooKeeper.

Informa a los nodos de Apigee sobre la configuración modificada

  1. En cada nodo de Router, edita el archivo /opt/apigee/customer/application/router.properties como se indica a continuación. Si el archivo no existe, créalo.
    • Cambia el parámetro conf_zookeeper_connection.string para incluir la dirección IP nueva.
    • Cambia el parámetro conf_zookeeper_zk1.host para incluir la dirección IP nueva.
  2. En cada nodo de Message Processor, edita el archivo /opt/apigee/customer/application/message-processor.properties como se indica a continuación. Si el archivo no existe, créalo.
    • Cambia el parámetro conf_zookeeper_connection.string para incluir la dirección IP nueva.
    • Cambia el parámetro conf_zookeeper_zk1.host para incluir la dirección IP nueva.
  3. En el nodo del servidor de administración, edita el archivo /opt/apigee/customer/application/management-server.properties como se indica a continuación. Si el archivo no existe, créalo.
    • Cambia el parámetro conf_zookeeper_connection.string para incluir la dirección IP nueva.
    • Cambia el parámetro conf_zookeeper_zk1.host para incluir la dirección IP nueva.
  4. Ejecuta el siguiente comando en cada nodo para reiniciar todos los componentes de la plataforma de Apigee:
    /opt/apigee/apigee-service/bin/apigee-all restart

Cambiar la dirección IP de un servidor LDAP (OpenLDAP)

Para cambiar la dirección IP de un nodo de OpenLDAP, haz lo siguiente:

  1. En el nodo del servidor de administración, edita el archivo /opt/apigee/customer/application/management-server.properties. Si el archivo no existe, créalo.
  2. En el archivo management-server.properties, configura el parámetro conf_security_ldap.server.host como la dirección IP nueva.
  3. Reinicia el servidor de administración:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Cambia la dirección IP de otros tipos de nodos de Apigee

Para cambiar la dirección IP de cualquiera de estos tipos de nodos (router, procesador de mensajes, servidor Postgres (no postgresql) y servidor de Qpid (no qpidd):

  1. Usa el siguiente comando de curl para registrar la nueva dirección IP interna y externa:
    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

    En el ejemplo anterior, uuid es el UUID del nodo.

Si no conoces el UUID del nodo, puedes usar el siguiente comando para mostrarlo:

  • Router:
    curl http://router_IP:8081/v1/servers/self
  • Procesador de mensajes:
    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