Trasladar servidores de Apigee

Mover componentes de una máquina a otra puede causar una incongruencia en la configuración si no mantienes sincronizadas las direcciones IP de los archivos de configuración de los componentes.

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

Direcciones IP frente a nombres de host

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

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

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

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

Situación Impacto en el movimiento de servidores
Cambio en la dirección IP Actualiza todos los archivos relacionados que hacen referencia a la dirección IP original
Cambio de nombre de host sin cambio de dirección IP Sin efecto
Cambio de nombre de host con cambio de dirección IP Igual que un cambio en la dirección IP

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 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 usar la dirección IP nueva 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 la dirección IP anterior y la configuración predeterminada 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 la 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 con el servidor de administración.

Para configuraciones con varios nodos de Cassandra (anillo)

  1. Si el nodo que se cambia 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 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:
    • Configura conf_cassandra_listen_address para usar la dirección IP nueva.
    • Configura conf_cassandra_rpc_address para usar la dirección IP nueva 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 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:
    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 usar la misma configuración predeterminada que registraste anteriormente 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 de origen 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 poco, por lo que se recomienda que no lo realices durante las horas pico de tráfico de 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 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 instalación de centro de datos única, el valor suele ser "dc-1".

  2. Registra las direcciones IP nuevas con uno de los siguientes comandos. El comando necesario dependerá del tipo del 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 antiguos del UUID del sistema en el que se cambió la dirección IP. Para cada uno de estos UUIDs, ocurre un problema:
    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 de 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 en 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 de ZooKeeper con 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 debe decir "leader".

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

Informar 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 dirección IP nueva.
    • Cambia el parámetro conf_zookeeper_zk1.host para incluir la dirección IP nueva.
  2. En cada nodo del procesador de mensajes, 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 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 de la siguiente manera. 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

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

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

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, procesador de mensajes, servidor Postgres (no postgresql) y servidor Qpid (no qpidd), sigue estos pasos:

  1. Usa el siguiente comando de curl para registrar las nuevas direcciones 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 que uuid es el UUID del nodo.

Si deseas obtener información para obtener el UUID de un componente, consulta Cómo obtener UUID.