Neste documento, descrevemos como adicionar três novos nós do ZooKeeper a uma instalação atual do Edge para nuvem privada.
É possível adicionar um ou dois nós do ZooKeeper a uma instalação atual do Edge. No entanto, é preciso garantir que você sempre tenha um número ímpar de nós de votação do ZooKeeper, conforme descrito abaixo.
Configuração atual do Edge
Todas as topologias do Edge compatíveis com um sistema de produção especificam o uso de três nós do ZooKeeper. Os três nós são especificados para as propriedades ZK_HOSTS e
ZK_CLIENT_HOSTS 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@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
Em que:
ZK_HOSTSespecifica os endereços IP ou nomes DNS dos nós do ZooKeeper. Os endereços IP ou nomes de DNS precisam ser listados na mesma ordem em todos os nós do ZooKeeper. Em um ambiente de vários data centers, liste todos os nós do ZooKeeper de ambos os data centers.ZK_CLIENT_HOSTSespecifica os endereços IP ou nomes DNS dos nós do ZooKeeper usados por esse data center. Os endereços IP ou nomes DNS precisam 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 ambiente de vários data centers, liste apenas os nós do ZooKeeper neste data center.
Modificar o arquivo de configuração para adicionar 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@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"
Marque o último nó em ZK_HOSTS com o modificador
:observer. Os nós sem o modificador :observer são chamados de
"votantes". É preciso ter um número ímpar de "votantes" na configuração. Portanto, nessa
configuração, você tem cinco votantes do ZooKeeper e um observador.
Adicione os nós a ZK_HOSTS e
ZK_CLIENT_HOSTS na mesma ordem. No entanto, omita o modificador :observer
ao definir ZK_CLIENT_HOSTS.
Configurar o Edge
Depois de editar o arquivo de configuração, você precisa realizar todas as tarefas a seguir.
Instalar o ZooKeeper nos novos nós
- Instale
apigee-setupno primeiro nó, conforme descrito em Instalar o utilitário apigee-setup do Edge. - 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 - Repita as etapas 1 e 2 para os demais nós novos do ZooKeeper.
Reconfigurar os nós atuais do ZooKeeper
Nos nós atuais do ZooKeeper:
- Execute novamente o comando de configuração com o novo arquivo de configuração:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
Reinicie todos os nós do Zookeeper
Em todos os nós do ZooKeeper:
- Reinicie o nó:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
É necessário reiniciar todos os nós do ZooKeeper, mas a ordem de reinicialização não importa.
Reconfigurar o nó do servidor de gerenciamento
No nó do servidor de gerenciamento:
- Execute o comando de configuração:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
- Reinicie o servidor de gerenciamento:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Reconfigurar todos os roteadores
Em todos os nós do roteador:
- Execute o comando de configuração:
/opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
- Reinicie o roteador:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
Reconfigurar todos os processadores de mensagens
Em todos os nós do processador de mensagens:
- Execute o comando de configuração:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
- Reinicie o processador de mensagens:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Reconfigure todos os nós do Qpid
Em todos os nós do Qpid:
- Execute o comando de configuração:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile
- 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:
- Execute o comando de configuração:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile
- Reinicie o Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
Validar a instalação
É possível 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:
- Se ele não estiver instalado no nó do ZooKeeper, instale o nc:
sudo yum install nc
- Execute o seguinte comando nc:
echo stat | nc localhost 2181
- Repita as etapas 1 e 2 em cada nó do ZooKeeper. Na linha
Modeda saída dos nós, um nó precisa ser designado como observador, um como líder e o restante como seguidores.