Trasladar servidores de Apigee

Si mueves componentes de una máquina a otra, es posible que se produzca una incompatibilidad de configuración si no mantienes sincronizadas las direcciones IP en los archivos de configuración de los componentes.

En esta sección, se describe cómo diagnosticar y corregir las discrepancias de configuración.

Direcciones IP en comparación con nombres de host

Debes usar direcciones IP en lugar de nombres de host en los archivos de configuración de componentes.

Si bien algunos archivos de configuración de componentes te permiten usar nombres de host en lugar de direcciones IP, usar nombres de host puede complicar la solución de problemas. Por ejemplo, los nombres de host pueden ser la causa de problemas relacionados con la conectividad del servidor DNS, las fallas de búsqueda y la sincronización.

Por lo tanto, Apigee recomienda usar direcciones IP para todas las configuraciones de componentes. En algunos casos, como con Cassandra, debes usar direcciones IP y no puedes usar nombres de host. La mayoría de los ejemplos de la documentación usan direcciones IP para la configuración de componentes.

En el caso de los nombres de host y las direcciones IP, considera las implicaciones de las siguientes situaciones cuando muevas los servidores de Apigee:

Situación Impacto en el cambio de servidores
Cambio en la dirección IP Actualiza todos los archivos relacionados que hagan referencia a la dirección IP original.
Cambio de nombre de host sin cambio en la dirección IP No hubo impacto.
Cambio de nombre de host con cambio de dirección IP Es igual a un cambio en la dirección IP

Cómo cambiar la dirección IP de un nodo de Cassandra

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

Para configuraciones 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:
    • Establece 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 que use 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 el parámetro de configuración predeterminado en el formulario:
    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:
    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 especifica la misma configuración predeterminada que encontraste en el paso 3.

  5. Reinicia Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Si es necesario, también repara ZooKeeper (consulta Cómo cambiar la dirección IP de un nodo de ZooKeeper). De lo contrario, reinicia todos los componentes de la plataforma de Apigee, comenzando por el servidor de administración.

Para configuraciones con varios nodos de Cassandra (anillo)

  1. Si el nodo que se cambia es un nodo semilla, 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 nueva IP 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:
    • Establece conf_cassandra_listen_address para usar la nueva dirección IP.
    • Configura conf_cassandra_rpc_address para que use 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 todas las direcciones IP de Cassandra y la configuración predeterminada en el siguiente formulario:
    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:
    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 usa la misma configuración predeterminada que registraste en el paso 3.

  5. Reinicia Cassandra en el sistema modificado.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Para todos los demás nodos, repite los cambios realizados en los pasos 3 y 4 para informarles sobre la posición de este nodo en el anillo de Cassandra. Además, cambia la IP del nodo semilla como se describe en el paso 1.
  7. Reinicia cada nodo de Cassandra restante uno por uno.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  8. Ejecuta el comando nodetool ring en el nodo modificado para asegurarte de que el anillo esté completo. Puedes encontrar la utilidad en /opt/apigee/apigee-cassandra/bin.
    nodetool [-u username -pw password] -h localhost ring
  9. Ejecuta nodetool repair en el nodo modificado. Ten en cuenta que este proceso puede tardar un tiempo, por lo que se recomienda no realizarlo durante las horas pico de tráfico de la API.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. Si es necesario, repara ZooKeeper (consulta Cómo cambiar la dirección IP de un nodo de ZooKeeper) y, luego, reinicia todos los componentes de la plataforma de Apigee, comenzando por el servidor de administración.

Actualiza los registros del almacén de datos

  1. Para encontrar los UUID de los registros del almacén de datos que especifican la dirección IP anterior, usa 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]'

      Aquí, DC es el nombre del centro de datos. En una instalación de un solo 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 cambiado.
    • Para type="application-datastore", haz lo siguiente:
      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", haz lo siguiente:
      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 antiguos del UUID del sistema en el que se cambió la dirección IP. Para cada uno de estos problemas de UUID, haz lo siguiente:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

Cómo cambiar 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 conjunto de ZooKeeper (solo para configuraciones de conjunto de varios nodos)

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

  3. Para encontrar el líder del conjunto de ZooKeeper, usa el siguiente comando (reemplaza node por la dirección IP de la máquina de ZooKeeper):
    echo srvr | nc node 2181

    La línea Mode en el resultado debe decir "leader".

  4. Reinicia un ZooKeeper después del otro, comenzando por el líder y terminando por el nodo en el que se cambió la dirección IP. Si más de un nodo de Zookeeper cambió de dirección 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 el cambio de configuración

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

Cómo cambiar la dirección IP de un servidor LDAP (SymasLDAP)

Para cambiar la dirección IP de un nodo de SymasLDAP, 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, establece el parámetro conf_security_ldap.server.host en la nueva dirección IP.
  3. Reinicia el servidor de administración:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Cómo cambiar 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, Message Processor, Postgres Server [no postgresql] y Qpid Server [no qpidd]), haz lo siguiente:

  1. Usa el siguiente comando 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.

Para obtener información sobre cómo obtener el UUID de un componente, consulta Cómo obtener UUIDs.