Agrega nodos de ZooKeeper

Edge para la nube privada v4.18.05

En este documento, se describe cómo agregar tres nodos ZooKeeper nuevos a una instalación existente de Edge para la nube privada.

Puedes agregar uno o dos nodos de ZooKeeper a una instalación de Edge existente. Sin embargo, debes asegurarte de tener siempre una cantidad impar de nodos de votantes de ZooKeeper, como se describe a continuación.

Configuración existente de Edge

Todas las topologías de Edge admitidas para un sistema de producción especifican el uso de tres nodos de ZooKeeper. Los tres nodos se especifican en las propiedades ZK_HOSTS y ZK_CLIENT_HOSTS del archivo de configuración, como se muestra a continuación:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=1
APIGEE_LDAPPW=secret
MP_POD=gateway
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
SMTPPASSWORD=smtppwd

Aquí:

  • ZK_HOSTS especifica las direcciones IP o los nombres de DNS de los nodos de ZooKeeper. Las direcciones IP o los nombres de DNS deben aparecer en el mismo orden en todos los nodos de ZooKeeper. En un entorno de varios centros de datos, enumera todos los nodos de ZooKeeper de ambos centros de datos.
  • ZK_CLIENT_HOSTS especifica las direcciones IP o los nombres de DNS de los nodos de ZooKeeper que usa este centro de datos. Las direcciones IP o los nombres de DNS deben aparecer en el mismo orden en todos los nodos de ZooKeeper.

    En una sola instalación de centro de datos, estos son los mismos nodos que especifica ZK_HOSTS. En un entorno de varios centros de datos, enumera solo los nodos de ZooKeeper en este centro de datos.

Modifica el archivo de configuración para agregar los tres nodos ZooKeeper nuevos

En este ejemplo, los tres nodos nuevos de ZooKeeper se encuentran en las siguientes direcciones IP:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Primero, debes actualizar el archivo de configuración de Edge para agregar los nodos nuevos:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
# Add the new node IP addresses.
IP14=10.10.0.14
IP15=10.10.0.15
IP16=10.10.0.16
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
...
# Update ZK_HOSTS to add each new node after an existing nodes.
ZK_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16:observer"
# Update ZK_Client_HOSTS to add each new node after an existing nodes.
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16"

Marca el último nodo en ZK_HOSTS con el modificador :observer. Los nodos sin el modificador :observer se denominan “votantes”. Debes tener un número impar de "votantes" en tu configuración. Por lo tanto, en esta configuración, tienes 5 votantes de ZooKeeper y un observador.

Asegúrate de agregar los nodos a ZK_HOSTS y ZK_CLIENT_HOSTS en el mismo orden. Sin embargo, omite el modificador :observer cuando configures ZK_CLIENT_HOSTS.

Configura Edge

Después de editar el archivo de configuración, debes realizar todas las siguientes tareas.

Instala ZooKeeper en los nodos nuevos

  1. Instala apigee-setup en el primer nodo como se describe en Instala la utilidad apigee-setup de Edge.
  2. Instala ZooKeeper en el primer nodo con los siguientes comandos:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
  3. Repite los pasos 1 y 2 para los nodos nuevos de ZooKeeper restantes.

Vuelve a configurar los nodos de ZooKeeper existentes

En los nodos de ZooKeeper existentes, haz lo siguiente:

  1. Vuelve a ejecutar el comando de configuración con el nuevo archivo de configuración:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile

Reinicia todos los nodos de Zookeeper

En todos los nodos de ZooKeeper:

  1. Reinicia el nodo:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart

    Debes reiniciar todos los nodos de ZooKeeper, pero el orden de reinicio no importa.

Vuelve a configurar el nodo del servidor de administración

En el nodo del servidor de administración, haz lo siguiente:

  1. Ejecuta el comando de configuración:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
  2. Reinicia el servidor de administración:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Cómo volver a configurar todos los routers

En todos los nodos del router:

  1. Ejecuta el comando de configuración:
    /opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
  2. Reinicia el router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Vuelve a configurar todos los Message Processors

En todos los nodos de Message Processor:

  1. Ejecuta el comando de configuración:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
  2. Reinicia el procesador de mensajes:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Cómo volver a configurar todos los nodos de Qpid

En todos los nodos de Qpid:

  1. Ejecuta el comando de configuración:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile
  2. Reinicia Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart

Cómo volver a configurar todos los nodos de Postgres

En todos los nodos de Postgres:

  1. Ejecuta el comando de configuración:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile
  2. Reinicia Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

Valida la instalación

Para validar la instalación de los nuevos nodos de ZooKeeper, envía comandos al puerto 2181 con netcat (nc) o telnet. Para obtener más información sobre los comandos de ZooKeeper, consulta http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands.

Para validar, haz lo siguiente:

  1. Si no está instalado en el nodo ZooKeeper, instala nc:
    sudo yum install nc
  2. Ejecuta el siguiente comando nc:
    echo stat | nc localhost 2181
  3. Repite los pasos 1 y 2 en cada nodo de ZooKeeper. En la línea Mode del resultado de los nodos, se debe designar un nodo como observador, uno como líder y el resto como seguidores.