Como adicionar nós do ZooKeeper

Edge for Private Cloud v. 4.16.09

Este documento descreve como adicionar três novos nós do ZooKeeper a um Edge for Private instalação do Google Cloud.

É possível adicionar um ou dois nós do ZooKeeper a uma instalação do Edge atual, mas você precisa Certifique-se de ter sempre um número ímpar de nós de eleitor do ZooKeeper, conforme descrito abaixo.

Configuração atual do Edge

Todas as topologias de borda compatíveis com um sistema de produção especificam o uso de três ZooKeeper nós. Os três nós são especificados para ZK_HOSTS e ZK_CLIENT_HOSTS propriedades no arquivo de configuração, conforme mostrado abaixo:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@apigee.com 
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt 
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n 
LDAP_TYPE=1
APIGEE_LDAPPW=secret 
BIND_ON_ALL_INTERFACES=y
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       

em que:

  • ZK_HOSTS especifica os endereços IP ou nomes DNS dos nós do ZooKeeper. Os endereços IP ou nomes DNS devem ser listados na mesma ordem em todos os nós do ZooKeeper. Em um ambiente com vários data centers, lista todos os nós do ZooKeeper dos dois data centers.
  • ZK_CLIENT_HOSTS especifica os endereços IP ou nomes DNS dos nós ZooKeeper usados pelo data center. Os endereços IP ou DNS devem ser listados na mesma ordem em todos os nós do ZooKeeper.

    Em uma única instalação de data center, esses são os mesmos nós especificados por ZK_HOSTS. Em um modelo de dados central, liste apenas os nós do ZooKeeper nesse data center.

Como modificar o arquivo de configuração a ser adicionado os três novos nós do ZooKeeper

Neste exemplo, os três novos nós do ZooKeeper estão nos seguintes endereços IP:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

Primeiro, atualize o arquivo de configuração do Edge para adicionar os novos nós:

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@apigee.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" 

Marque o último nó em ZK_HOSTS com o modificador “:observer”. Os nós sem o modificador ":observer" são chamados "eleitores". Você precisa ter um número ímpar de "eleitores" em sua configuração. Portanto, nesta você tem cinco eleitores do ZooKeeper e um observador.

Adicione os nós a ZK_HOSTS e ZK_CLIENT_HOSTS no mesmo ordem. No entanto, omita o modificador ":observer" ao definir ZK_CLIENT_HOSTS.

Configurar o Edge

Depois de editar o arquivo de configuração, execute todas as tarefas a seguir.

Instalar o ZooKeeper nos novos nós

  1. Instale o apigee-setup na primeiro nó, conforme descrito em Instalar o Edge utilitário apigee-setup.
  2. Instale o ZooKeeper no primeiro nó usando os seguintes comandos:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
  3. Repita as etapas 1 e 2 para os novos nós restantes do ZooKeeper.

Reconfigurar o ZooKeeper existente nós

Nos nós do ZooKeeper existentes:

  1. Execute o setup.sh novamente com "-p c" perfil e o novo arquivo de configuração:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile

Reiniciar todos os nós do Zookeeper

Em todos os nós do ZooKeeper:

  1. Reinicie o nó:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper reinicialização

    Você deve reiniciar todos os nós do ZooKeeper, mas a ordem de reinicialização não importa.

Reconfigurar o servidor de gerenciamento nó

No nó do Servidor de gerenciamento:

  1. Execute o comando de configuração:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
  2. Reinicie o servidor de gerenciamento:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server reinicialização

Reconfigurar todos os roteadores

Em todos os nós do Roteador:

  1. Execute o comando de configuração:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router setup -f updatedConfigFile
  2. Reinicie o roteador:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router restart

Reconfigurar todas as mensagens Processadores

Em todos os nós do processador de mensagens:

  1. Execute o comando de configuração:
    /opt/apigee/apigee-service/bin/apigee-service configuração do processador do Edge-message -f updatedConfigFile
  2. Reinicie o processador de mensagens:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-message-processor restart

Reconfigurar todos os nós Qpid

Em todos os nós Qpid:

  1. Execute o comando de configuração:
    > /opt/apigee/apigee-service/bin/apigee-service perímetro-qpid-server configuração -f updatedConfigFile
  2. Reinicie o Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-server restart

Reconfigurar todos os nós do Postgres

Em todos os nós do Postgres:

  1. Execute o comando de configuração:
    > /opt/apigee/apigee-service/bin/apigee-service perímetro-postgres-server configuração -f updatedConfigFile
  2. Reinicie o Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-postgres-server reboot

Valide a instalação

Você pode validar a instalação dos novos nós do ZooKeeper enviando comandos para a porta 2181 usando netcat (nc) ou telnet. Para mais informações sobre os comandos do ZooKeeper, consulte: http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands.

Para validar:

  1. Se não estiver instalado no nó ZooKeeper, instale nc:
    > "sudo yum install nc"
  2. Execute o seguinte comando nc:
    > echo stat | nc localhost 2.181
  3. Repita as etapas 1 e 2 em cada nó do ZooKeeper.
    Na linha Mode da saída dos nós, um nó deve ser designado como observador, um nó como líder e o restante como seguidores.