En este documento, se describe cómo agregar tres nodos nuevos de ZooKeeper a un perímetro existente para conexiones la instalación en la nube.
Puedes agregar uno o dos nodos de ZooKeeper a una instalación de Edge existente; sin embargo, debes asegúrate de tener siempre un número impar de nodos votantes de ZooKeeper, como se describe a continuación.
Configuración de Edge existente
Todas las topologías de Edge compatibles para un sistema de producción especifican que se deben usar tres ZooKeeper
nodos. Los tres nodos se especifican en ZK_HOSTS
y
ZK_CLIENT_HOSTS
en el 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 nombres de DNS deben aparecer en el mismo orden en todos los nodos de ZooKeeper. En un entorno de varios centros de datos, enumerar todos los nodos de ZooKeeper de ambos centros de datosZK_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 DNS deben estar enumerados en el mismo orden en todos los nodos de ZooKeeper.En una única instalación de centro de datos, estos son los mismos nodos especificados por
ZK_HOSTS
En un entorno de varios centros de datos, enumera solo los nodos de ZooKeeper en este centro de datos de la empresa.
Modificando el archivo de configuración para agregar los tres nuevos nodos de ZooKeeper
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 llaman
“voters”. Debes tener un número impar de "votantes" en tu configuración. Por lo tanto, en esta
tendrás 5 votantes de ZooKeeper y un observador.
Asegúrate de agregar los nodos a ZK_HOSTS
y
ZK_CLIENT_HOSTS
en el mismo pedido. Sin embargo, omite el modificador :observer
.
cuando configures ZK_CLIENT_HOSTS
.
Configurar Edge
Después de editar el archivo de configuración, debes realizar todas las tareas que se indican a continuación.
Instala ZooKeeper en los nodos nuevos
- Instala
apigee-setup
en el primer nodo como se describe en Instala la utilidad de Apigee-setup de Edge. - 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
- Repite los pasos 1 y 2 para los nuevos nodos de ZooKeeper restantes.
Reconfigura el ZooKeeper existente nodos
En los nodos de ZooKeeper existentes, haz lo siguiente:
- 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
Reiniciar todos los nodos de Zookeeper
En todos los nodos de ZooKeeper:
- 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 servidor de administración nodo
En el nodo del servidor de administración, haz lo siguiente:
- Ejecuta el comando de configuración:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
- Reinicia el servidor de administración:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Reconfigura todos los routers
En todos los nodos de router:
- Ejecuta el comando de configuración:
/opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
- Reinicia el router:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
Reconfigura todos los mensajes Procesadores
En todos los nodos de Message Processor:
- Ejecuta el comando de configuración:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
- Reinicia el procesador de mensajes:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Reconfigura todos los nodos de Qpid
En todos los nodos Qpid:
- Ejecuta el comando de configuración:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile
- Reiniciar Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
Vuelve a configurar todos los nodos de Postgres
En todos los nodos de Postgres:
- Ejecuta el comando de configuración:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile
- Reinicia Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
Valida la instalación
Puedes validar la instalación de los nuevos nodos de ZooKeeper enviando comandos al puerto 2181. usando 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 validarlo, haz lo siguiente:
- Si no está instalado en el nodo de ZooKeeper, instala nc:
sudo yum install nc
- Ejecuta el siguiente comando nc:
echo stat | nc localhost 2181
- Repite los pasos 1 y 2 en cada nodo de ZooKeeper. En la línea
Mode
del resultado de uno de ellos como observador, un nodo como líder y el resto como nodos seguidores.